refactor: use shared config types from rattler_config#6528
Merged
Conversation
Ports #6144 onto current main. pixi_config now reuses the leaf config types from the rattler_config crate (0.5) instead of maintaining its own copies, re-exporting them for back-compat: - RepodataConfig / RepodataChannelConfig (incl. the tolerant Deserialize impl for unknown/deprecated keys like disable-jlap) - S3Options / S3OptionsMap (IndexMap-backed newtype; Config.s3_options switches from HashMap<String, S3Options> to S3OptionsMap) - ConcurrencyConfig and its default helpers - ProxyConfig (rattler's Default reads HTTP(S)_PROXY/NO_PROXY env vars; pixi's local env statics are kept for get_proxies()) - BuildConfig / PackageFormatAndCompression - RunPostLinkScripts The former From<RepodataChannelConfig> for SourceConfig impl becomes a free function (orphan rule), and merging goes through the rattler_config::config::Config trait's merge_config. pixi_api's init templates adapt to S3OptionsMap. The config_merge_multiple insta snapshot is updated for the S3OptionsMap wrapper. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EzYs4p6XJDj9QBcNB4ipR7
Hofer-Julian
approved these changes
Jul 6, 2026
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Continuation of #6144 ("refactor: switch to rattler_config") on a branch in this repo — the original branch lives in a fork that couldn't be pushed to. The diff of #6144 applied cleanly onto
main; no functional deviations.pixi_config consumes the shared leaf types from the
rattler_configcrate (0.5, crates.io) instead of maintaining its own copies:RepodataConfig/RepodataChannelConfig(including the tolerant deserializer that keeps deprecated keys likedisable-jlapas warnings),S3Options+ the newS3OptionsMapnewtype,ConcurrencyConfig,ProxyConfig,BuildConfig/PackageFormatAndCompression, andRunPostLinkScripts. All types are re-exported frompixi_configso external paths keep compiling.How Has This Been Tested?
cargo check --workspace --all-targetspasses.cargo test -p pixi_config: 53 passed, 0 failed.cargo fmt --checkandcargo clippy -p pixi_config -p pixi_api --all-targetsclean.AI Disclosure
Tools: Claude Code
Checklist:
schema/model.py(no schema impact)