chore(auto): update flake inputs - #1725
Merged
Merged
Conversation
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.
Flake update repair report
Outcome: no repairs were needed. No files were changed.
nix run .#world -- checkpasses on this branch (exit 0, every output ✅),reproducing
.ci-check.logexactly.nix run .#world -- lintalso passes.Rather than stop at a green check, I diffed the evaluated configuration
before and after the bump, because a green check is not evidence that
behaviour was preserved. Method: evaluate this tree twice — once with the new
lock, once with
--override-inputpinningnixpkgs,home-manager,nixos-hardwareandnix-darwinback to their pre-update revisions — and diffthe results.
Compared across all 11
nixosConfigurations: firewall (enable, allowed TCP/UDPports and ranges, trusted interfaces, reverse-path check, reject/log policy),
nftables, DHCP, nameservers, resolved, openssh (enable, ports, openFirewall,
full settings), the complete set of systemd services/timers/sockets, users,
groups, agenix secret names and their activation paths, mount points, kernel
params, initrd modules, and stateVersion. Also both
darwinConfigurations(launchd daemons and user agents, activation script keys, dock/trackpad/
NSGlobalDomain defaults, users, secrets) and both
homeConfigurations(userservices/timers/sockets/targets, home and XDG file targets, session variables
and PATH, secrets).
Exactly one behavioural difference exists across the whole fleet, and it is
in the "needs a human" category — see below. Everything else is byte-identical.
Changed
Nothing. No option in this repo was renamed, removed, or changed meaning by
this update, so there was nothing to repair. No host evaluation emits a
renamed- or removed-option warning, which is the mechanical signal for an
option this repo sets having moved.
Needs a human
1. Six btrfs hosts lose three initrd checksum modules (boot / filesystems)
The only behavioural change the update produces.
nixpkgschangednixos/modules/tasks/filesystems/btrfs.nixto gate the btrfs checksum modulesbehind the kernel version:
Effect:
crc32c,xxhash64andblake2b-256drop out ofboot.initrd.availableKernelModuleson alnitak, antares, cygnus, icarus,jupiter, neptune — exactly the btrfs-root hosts, all of which run kernel
7.1.8. (
sha256stays; it is also pulled in by the LUKS path.)Unaffected, and consistent with the gate: eris and test (bcachefs, 7.1.8),
sagittarius (bcachefs, 6.18.44), vega (ext4), installer (ISO).
Why I did not touch it:
on precisely the hosts it is meant to. Re-pinning the old module list would
mean overriding a decision nixpkgs just made, which is a choice for a person,
not a repair.
the premise behind it — that Linux 7.x has these btrfs checksum algorithms
built in rather than as loadable modules. That premise is what makes the
change safe.
What a reviewer needs to decide: whether that premise holds for the kernel
these six hosts actually run. If it does, this is a no-op and the diff is
correct as-is. If it does not, six btrfs-root machines get an initrd that
cannot checksum their root filesystem, and they fail to mount root on the next
reboot — after this branch has already merged and deployed. Confirming it is
cheap: check
CONFIG_CRYPTO_CRC32C,CONFIG_CRYPTO_XXHASHandCONFIG_CRYPTO_BLAKE2Barey(notm) in the 7.1.8 kernel config beforeletting these hosts take a new initrd.
2.
misc/gh-release-update.nu— deprecated nushellfilter(update tooling)Off-limits by policy, so reported only.
.ci-update.logshows:It is a warning today; when nushell drops
filter, the updater stops runningand flake inputs silently stop being updated. Occurrences: lines 10, 26 and 36
(the log only flags line 10, at parse time). The documented replacement is a
direct substitution —
filter { |line| ... }→where { |line| ... }— whichis exactly what I would have changed, and exactly why it still needs a person:
this script decides which release URLs get pinned on every host, and a passing
build proves nothing about whether it picked the right version.
Two latent hazards in the version-selection logic that I noticed while reading
it. Both are unverified — the script chose correct versions on this run —
but they are worth a look while someone is in the file:
firstfrom the GitHub/releasesresponse, which isordered by creation date, not by version. A backported patch release
published after a newer minor would be selected as "latest".
get name(the release title, free text) rather thantag_name, then strip only the first"v"viastr replace "v"without--all. A release titled e.g.VictoriaLogs v1.52.0would not parse to abare version.
3.
rekey.hostPubkeywarnings fortestandinstaller(key material)Pre-existing and intentional, not caused by this update — identical in the
supplied
.ci-check.log, and the warning text itself says it is expected untila host has been deployed once.
testandinstallerare throwaway/installerimages; all ten real hosts set
hostPubkey. Untouched: this is secrets andactivation-time decryption.
4. Deprecation warnings this repo does not own
These are surfaced by the check but originate in flake inputs, so there is no
edit that can be made here. Listed so the next reader does not re-investigate:
stdenv.isDarwin/stdenv.isLinuxare deprecated. The repo has zerobare
stdenv.is*uses — it already usesstdenv.hostPlatform.*everywhere(
flake/packages.nix,users/profiles/*,profiles/home-manager.nix). Thewarnings come from input flakes and nixpkgs package expressions.
Dependency of package 'rocksdb' uses a nested list in attribute 'buildInputs'— from nixpkgs/tuwunel. The repo's only rocksdb reference isthe string
database_backend = "rocksdb"inmodules/my-matrix.nix, aruntime setting, not a build input.
The package 'devenv-test' / 'devenv-up' is deprecated— those attributesare generated by devenv's own flakeModule, not declared here.
Using 'builtins.derivation' to create a derivation named 'options.json' ... without a proper context— upstream options-documentation generation.Coverage note
world checkomitsaarch64-darwin,aarch64-linuxandx86_64-darwin, so itnever evaluates either
darwinConfigurations— andnix-darwinmade thelargest jump in this update (2026-07-30 → 2026-08-16, 17 days). It also reports
seven flake outputs as unchecked (
agenix-rekey,buildkite-flake-builder,buildkite-flake-updater, and the fourgithub-actions-*matrices). Ievaluated all of those by hand for this update; every one is fine, and the
darwin diff above is clean apart from one new upstream option
(
AppleReduceDesktopTinting) that is present but unset. Flagging the gapbecause a darwin-side breakage would not show up in this branch's check.