chore(auto): update flake inputs - #1739
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
No configuration changes were made. The update did not break anything in
this repository, and none of the deprecation warnings in
.ci-check.logoriginate from code in this repository.
nix run .#world -- checkexits 0 on this branch (re-run from a clean tree,not just read from the log).
nix run .#world -- lintalso passes.What I changed
Nothing. There is no diff beyond the
flake.lockthe updater already wrote.Why nothing needed changing
nix flake updatebumpedcachix,claude-code,devenv,emacs-overlay(+ its
nixpkgs-stable),fenix(+rust-analyzer-src),flake-parts(+
nixpkgs-lib),home-manager,noctalia,nur,rust-overlayandzen-browser(+ its vendoredhome-manager).nixpkgsitself was not bumped, so no NixOS option renames or removalsare in play in this update.
To rule out the failure mode that matters here — a renamed option silently
dropped, so the build stays green while the machine loses a setting — I
evaluated
config.warningsandconfig.assertionsdirectly for everyconfiguration this flake exposes, rather than relying on the check log:
nixosConfigurations(alnitak, antares, cygnus, eris, icarus, installer,jupiter, neptune, sagittarius, test, vega)
darwinConfigurations(mini, VW2WRF4694)homeConfigurations(john@devbox, jeriksson@workstation-7jjg6)Result: zero failed assertions, and zero warnings anywhere, except the two
pre-existing agenix-rekey
rekey.hostPubkeynotices ontestandinstaller(see below). No
has been renamed to/has been removedmodule warning isproduced by any host. Nothing was silently dropped.
Where each deprecation warning in
.ci-check.logactually comes fromEvery one of them is emitted by a flake input's own Nix code, not by this
repo, so there is no edit here that would silence them:
The package 'devenv-test' is deprecated/'devenv-up' is deprecated— injected unconditionally by devenv's own flake-module
(
devenv/flake-module.nix, thedeprecatewrapper aroundpackages.devenv-up/packages.devenv-test). This repo does not declarethose packages;
flake/devenv.nixonly setsdevenv.shells. The only wayto remove them is to stop importing
inputs.devenv.flakeModule, whichwould delete the dev shells. Upstream's job.
stdenv.isDarwin is deprecated/stdenv.isLinux is deprecated— comes from the
perswayinput (devshell/modules/rust.nix, two uses ofpkgs.stdenv.isDarwin) and thezjstatusinput (flake.nix:51). Thisrepo already uses
pkgs.stdenv.hostPlatform.isDarwin/.isLinuxeverywhere (9 call sites across
flake/packages.nix,profiles/,users/profiles/); there is nothing left here to migrate.Dependency of package 'rocksdb' uses a nested list in attribute 'buildInputs'— from thetuwunelinput's rocksdb overlay, surfaced bythe new nested-list deprecation in nixpkgs'
pkgs/stdenv/generic/make-derivation.nix. Not reachable from this repo,which only does
tuwunel-latest = inputs.tuwunel.packages.${system}.default.Using 'builtins.derivation' to create a derivation named 'options.json' ... without a proper context— a Nix-level warning about nixpkgs'nixos/lib/make-options-doc/default.nix, triggered by the NixOS manualbeing built for each host. Comes from nixpkgs + Nix, not from this
configuration.
GC Warning: Repeated allocation of very large block— evaluator memorynoise, not a configuration issue.
Per constraint 4 ("prefer the boring fix ... pin it"), the boring fix for all
of these is to do nothing and let the inputs catch up: pinning any of them to
an older revision would undo the update, and patching vendored input code
would be neither small nor local.
Needs a human
1.
misc/gh-release-update.nu— deprecated nushellfilter.ci-update.logshows a parser deprecation from the updater itself:Three call sites use
filterwith a closure: line 10 (selecting the flakeinputs tagged
# gh-release-update) and lines 26 and 36 (selecting the firstnon-draft, non-prerelease GitHub release).
I did not change this, because it is the update tooling: it is what decides
which release URL gets pinned into
flake.nix, and a wrong choice therestill evaluates, still builds, still merges, and pins the wrong version on
every host. A passing build proves nothing about it.
What I would have changed, for a human to review:
filter { ... }→where { ... }at lines 10, 26 and 36. The reason this is not purelymechanical is lines 26/36 —
whereandfilterare not interchangeable inthe general case, because
wherealso has a row-condition/short-form parsingmode (
where draft == false), and the closure passed there is what selectsthe release whose
namebecomes the new pinned version. Getting thatselection subtly wrong (e.g. matching a prerelease, or a differently-named
release) silently downgrades or upgrades
victorialogsand the twoVictoriaMetrics Grafana datasource plugins on every host that runs them.
That needs someone who can run the updater against the real GitHub API and
compare the resulting URLs before and after.
Note: this is currently only a warning; the script still works — this run
correctly resolved VictoriaLogs 1.51.1, victorialogs-datasource 0.31.0 and
victoriametrics-datasource 0.25.2, and made no changes to
flake.nix. Itwill break when nushell removes
filter.2.
rekey.hostPubkeynot set for hoststestandinstallerLeft alone, and I believe deliberately so: every real host
(
alnitak,antares,cygnus,eris,icarus,jupiter,neptune,sagittarius,vega, both darwin hosts, both home configs) setshostPubkey; only the scratchtestconfig and theinstallerimage do not,and agenix-rekey's own message says this state is intentional until the host
has been deployed once and its pubkey read back.
This is pre-existing and not caused by the update — nothing but
flake.lockchanged in this branch. It is also secrets/key-material territory, so it is
explicitly a human decision: fixing it means generating or reading a host key
and committing the public half, which changes how secrets are decrypted at
activation.
3. Silent upstream default changes (limit of what I verified)
I verified there are no renamed, removed or dropped options, and no failed
assertions, across all 14 configurations. What that does not cover is an
input changing a module's default value without a rename or a warning —
home-managermoved a day (f772b7f→ead131e), as didnoctaliaandzen-browser, and all three feed into host configuration. No tooling in thisrepo catches that class of change, and I could not diff those trees from this
sandbox (no network access for the tools available to me).
I did not try to guess and pin defaults preemptively: adopting or freezing a
new default is exactly the "decision for a person" the constraints reserve.
If a reviewer wants that closed off, the thing to do is diff
nix-community/home-managerf772b7f...ead131efor changes undermodules/that touch options this repo sets.