Skip to content

libstore: migrate caFile, netrcFile, and downloadSpeed to FileTransferSettings#15202

Merged
Ericson2314 merged 2 commits intoNixOS:masterfrom
obsidiansystems:migrate-ca-netrc-downloadspeed-filetransfer
Feb 11, 2026
Merged

libstore: migrate caFile, netrcFile, and downloadSpeed to FileTransferSettings#15202
Ericson2314 merged 2 commits intoNixOS:masterfrom
obsidiansystems:migrate-ca-netrc-downloadspeed-filetransfer

Conversation

@amaanq
Copy link
Member

@amaanq amaanq commented Feb 11, 2026

Motivation

In the first commit, hashedMirrors is only relevant to local builds (it is consumed by
builtin:fetchurl during derivation building) but lived in the global
Settings class. This moves it to LocalSettings where it belongs
and threads it through BuiltinBuilderContext so fetchurl.cc reads
it from the context instead of reaching into settings directly.

In the second commit, the caFile, netrcFile, and downloadSpeed settings are only used by
the file transfer subsystem but lived in the global Settings class.
This moves them to FileTransferSettings where they belong, and extracts
a BootstrapSettings struct for early-init paths (nixConfDir,
nixUserConfFiles) that need to be available before Settings is
constructed.


Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@github-actions github-actions bot added the fetching Networking with the outside (non-Nix) world, input locking label Feb 11, 2026
@amaanq amaanq force-pushed the migrate-ca-netrc-downloadspeed-filetransfer branch 3 times, most recently from 1bdbf1d to fc4d962 Compare February 11, 2026 19:39
amaanq and others added 2 commits February 11, 2026 14:58
`hashedMirrors` is only relevant to local builds (it is consumed by
`builtin:fetchurl` during derivation building) but lived in the global
`Settings` class. This moves it to `LocalSettings` where it belongs
and threads it through `BuiltinBuilderContext` so `fetchurl.cc` reads
it from the context instead of reaching into `settings` directly.
…TransferSettings`

The `caFile`, `netrcFile`, and `downloadSpeed` settings are only used by
the file transfer subsystem but lived in the global `Settings` class.
This moves them to `FileTransferSettings` where they belong.

Co-authored-by: Amaan Qureshi <git@amaanq.com>
@amaanq amaanq force-pushed the migrate-ca-netrc-downloadspeed-filetransfer branch from fc4d962 to 04d13a9 Compare February 11, 2026 19:59
Copy link
Member

@Ericson2314 Ericson2314 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good, simplifying the unit test with a fresh FileTransferSettings will be done in a separate commit.

@Ericson2314 Ericson2314 added this pull request to the merge queue Feb 11, 2026
Merged via the queue into NixOS:master with commit 912c6c2 Feb 11, 2026
15 checks passed
@Ericson2314 Ericson2314 deleted the migrate-ca-netrc-downloadspeed-filetransfer branch February 11, 2026 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fetching Networking with the outside (non-Nix) world, input locking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants