Commit Graph
1009261 Commits
Author SHA1 Message Date
r-vdp c38ca6ab7d nixos/systemd-boot-builder: handle initrd-secrets failure in the writer
The CalledProcessError can only come from the append-initrd-secrets
script, so catching it in the generic write loop and then asserting
on the writer type to reach back into its `source` is the wrong
layer. Move the catch, the pristine-initrd fallback and the warning
into InitrdWithSecretsWriter itself, and pass `critical` through the
writer protocol so it can decide between aborting and falling back.

The writer carries the generation number so the warning can still
name the affected generation. write_boot_files no longer knows
anything about secrets and the isinstance assertion is gone.

Suggested-by: Will Fancher <elvishjerricco@gmail.com>
2026-06-02 12:20:55 +03:00
r-vdp 9d46e91c49 nixos/systemd-boot-builder: track critical paths separately from BootFile
Whether a write failure must be fatal is a property of the destination
path (is it needed by the configuration we are switching to?), not of
the particular BootFile instance that happened to survive
deduplication. Compute the set of critical paths up front and look it
up in write_boot_files, so the dedup loop no longer needs to pick the
"right" instance and becomes a plain order-preserving seen-set walk.

This leaves BootFile.current unused.

Suggested-by: Will Fancher <elvishjerricco@gmail.com>
2026-06-02 12:20:55 +03:00
r-vdp dff3315fac nixos/systemd-boot-builder: use with for the secrets temp file
This guarantees the descriptor is closed even when copyfileobj raises,
matching the other writer implementations. The append-initrd-secrets
script reopens the file by path, so flush() is enough before invoking
it and the explicit close() is no longer needed.
2026-06-02 12:20:55 +03:00
r-vdp 30552ab00b nixos/systemd-boot-builder: clarify stale initrd secrets warning
Tell the user what actually happens (the old secrets stay in place) and
how to get rid of the warning, instead of just saying it is "normal".

Suggested-by: Will Fancher <elvishjerricco@gmail.com>
2026-06-02 12:20:54 +03:00
r-vdp b4e756627d nixos/systemd-boot-builder: write each ESP path only once
Shared kernels and initrds appear once per generation in boot_files, so
InitrdWithSecretsWriter rebuilt the same file repeatedly. Prefer the
current configuration's entry so its failures stay fatal.
2026-06-02 12:20:54 +03:00
r-vdp 76673e2736 nixos/systemd-boot-builder: fall back to pristine initrd when secrets fail
Otherwise the .conf for that generation references a missing initrd and
the boot entry fails to load.
2026-06-02 12:20:54 +03:00
r-vdp 3ff32972f8 nixos/systemd-boot-builder: verify content of existing entry files
A file named nixos-<hash>.conf whose content no longer hashes to <hash>
is corrupt. Skip it so GC removes it and a fresh entry is written.
2026-06-02 12:20:54 +03:00
r-vdp 820d20f8b9 nixos/systemd-boot-builder: cache boot_path()
It calls Path.resolve() and is invoked several times per generation for
the same store paths.
2026-06-02 12:20:53 +03:00
r-vdp 85d59c4f3d nixos/systemd-boot-builder: use a set for GC root lookup
has_gc_root() iterated the entire BootFileList for every file on the
ESP, giving O(files * roots) comparisons. Build the set of kept paths
once and use O(1) membership tests instead.
2026-06-02 12:20:53 +03:00
r-vdp 146acf965f nixos/systemd-boot-builder: warn instead of aborting when an old gen's secrets fail
After removing or renaming a file in boot.initrd.secrets, older
generations' append scripts start failing. Aborting on that blocks
deploying the new configuration, so only treat a failure as fatal when
it belongs to the configuration being switched to.
2026-06-02 12:20:53 +03:00
r-vdp 6eba7d60f3 nixos/systemd-boot-builder: rebuild secret-bearing initrds atomically each run
Appending to the existing file made it grow on every rebuild and a
failed script could leave it half-written. Always rebuild from the
pristine initrd into a temp file and rename into place.
2026-06-02 12:20:53 +03:00
r-vdp 6ef460ec9d nixos/systemd-boot-builder: write loader.conf after the entries it points at
A crash between the two would leave `default <id>` referring to a
.conf that does not exist yet.
2026-06-02 12:20:53 +03:00
Will Fancherandr-vdp 44a974d0eb nixos/systemd-boot: Rerun secrets every switch 2026-06-02 12:20:52 +03:00
Will Fancherandr-vdp 1d081050c3 nixos/systemd-boot: Separate finding the placement of files from writing files 2026-06-02 12:20:52 +03:00
r-vdpandAkechiShiro b4c278c06b nixos/systemd-boot-builder: store boot loader configs using content hashing
Co-Authored-By: AkechiShiro <14914796+AkechiShiro@users.noreply.github.com>
2026-06-02 12:20:51 +03:00
r-vdp 323ef6c123 nixos/tests/systemd-boot: use a valid machine-id
dbus-broker (now the default since #512050) calls
sd_id128_get_machine() which returns -ENOMEDIUM for an
all-zero machine-id, causing it to crash-loop and the test
to hang on multi-user.target.
2026-06-02 12:20:13 +03:00
69ce6b2391 nixos/systemd-boot-builder: re-instate boot counting
Co-Authored-By: Julien Malka <julien@malka.sh>
Co-Authored-By: AkechiShiro <14914796+AkechiShiro@users.noreply.github.com>
2026-06-02 12:20:12 +03:00
r-vdp ac2410be5d nixos/systemd-boot-builder: format 2026-06-02 12:20:12 +03:00
Vladimír ČunátandGitHub 3e1c1a3be7 ngtcp2-gnutls: 1.22.1 -> 1.23.0 (#526396) 2026-06-02 09:02:14 +00:00
nixpkgs-ci[bot]andGitHub b9c8e44894 bmm: 0.3.0 -> 0.3.1 (#526861) 2026-06-02 09:00:28 +00:00
nixpkgs-ci[bot]andGitHub 50ccd4cbb0 shikane: 1.0.1 -> 1.1.0 (#526563) 2026-06-02 09:00:17 +00:00
Sizhe ZhaoandGitHub 4f6faed600 python3Packages.cuda-tile: init at 1.4.0 (#526920) 2026-06-02 08:59:02 +00:00
K900andGitHub 9ad99deda7 vscode: 1.119.0 -> 1.122.1 (#525492) 2026-06-02 08:28:02 +00:00
K900andGitHub 1f2a077471 Revert "nixos/virtualisation: remove hard-coded virtio-gpu-pci device… (#527048) 2026-06-02 08:26:23 +00:00
K900 9d1a8dba42 Revert "nixos/virtualisation: remove hard-coded virtio-gpu-pci device from aarch machines"
This reverts commit 44c6c2ef16.

The change breaks nixosTests.login, blocking channels.
2026-06-02 11:20:17 +03:00
Vincent LaporteandGitHub 5f28af7023 ocamlPackages: remove legacy uses of dune_3 (#526626) 2026-06-02 07:50:10 +00:00
isabelandGitHub 9895c86708 biome: 2.4.15 -> 2.4.16 (#526989) 2026-06-02 07:35:09 +00:00
Vladimír ČunátandGitHub 017304cea5 xorg-server: 21.1.22 -> 21.1.23 (#526959) 2026-06-02 07:33:23 +00:00
zowoqandGitHub 8ecc96581b dnscontrol: 4.39.0 -> 4.40.0 (#527036) 2026-06-02 07:28:37 +00:00
Stefan FrijtersandGitHub 52ca79abe4 tango-icon-theme: enable strictDeps and structuredAttrs, use SRI hash (#526292) 2026-06-02 07:28:29 +00:00
Gaétan LepageandGitHub b395ca0c5d python3Packages.databricks-sdk: 0.108.0 -> 0.113.0 (#526925) 2026-06-02 07:26:29 +00:00
Sizhe ZhaoandGaetan Lepage 75a2495a8e python3Packages.cuda-tile: init at 1.4.0
Co-authored-by: Gaetan Lepage <gaetan@glepage.com>
2026-06-02 07:20:13 +00:00
R. Ryantm d3ef05e639 dnscontrol: 4.39.0 -> 4.40.0 2026-06-02 07:16:30 +00:00
Vladimír ČunátandGitHub a4421cecfb ios-deploy: fix build (#524848) 2026-06-02 06:58:05 +00:00
7c6f434candGitHub 24164cccf7 xcape: unstable-2018-03-01 -> 1.2 (#523983) 2026-06-02 06:38:39 +00:00
Vladimír ČunátandGitHub f68f218c5a recordbox: 0.10.4 -> 0.11.0 (#522772) 2026-06-02 06:36:36 +00:00
Vladimír ČunátandGitHub 8db3262ac5 python3Packages.biopandas: fix numpy 2.4 compatibility (#521225) 2026-06-02 06:28:54 +00:00
Vladimír ČunátandGitHub 4d87edc412 rhvoice: 1.16.5 -> 1.18.4 (#492842) 2026-06-02 06:23:59 +00:00
R. Ryantm 2f7a6d7ebd biome: 2.4.15 -> 2.4.16 2026-06-02 06:12:12 +00:00
LIN, JianandGitHub 81486c7486 emacsPackages.mozc: fix mozc_emacs_helper path (#526967) 2026-06-02 05:58:35 +00:00
nixpkgs-ci[bot]andGitHub e0dc02084c nushell-plugin-hcl: 0.112.2 -> 0.113.1 (#526978) 2026-06-02 05:47:49 +00:00
nixpkgs-ci[bot]andGitHub c96b76c39a torrserver: 141 -> 141.4 (#526943) 2026-06-02 05:47:35 +00:00
nixpkgs-ci[bot]andGitHub 4830e74845 git-graph: enable on darwin (#526926) 2026-06-02 05:47:33 +00:00
LIN, JianandGitHub fcf5122f9d emacsPackages.ebuild-mode: 1.82 -> 1.83 (#526569) 2026-06-02 05:32:32 +00:00
Pol DellaieraandGitHub 6404a3197b vscode-extensions.oxc.oxc-vscode: 1.56.0 -> 1.57.0 (#526922) 2026-06-02 05:01:46 +00:00
ncaq c471e66f76 emacsPackages.mozc: fix mozc_emacs_helper path
The substitution in melpa-packages.nix rewrote `"mozc_emacs_helper"` in
`mozc.el` to `${pkgs.ibus-engines.mozc}/lib/mozc/mozc_emacs_helper`,
but that path no longer exists.

Since the Bazel-based rewrite and the optional ibus split in #483843,
`mozc_emacs_helper` is installed at `$out/bin/` of the base `mozc` package,
while `$out/lib/mozc/` only contains `mozc_server`,
`mozc_renderer`, and `mozc_tool`.
As a result, `mozc.el` invoked a non-existent helper and `mozc-mode` failed to start with

> 変換エンジンプログラムの起動に失敗しました。

Switch the reference to `pkgs.mozc` so it points at the actual binary
location and avoids pulling in the IBus front-end for Emacs users.

Assisted-by: Claude Code (claude-opus-4-7)
2026-06-02 13:53:15 +09:00
R. Ryantm 5b9eef756d nushell-plugin-hcl: 0.112.2 -> 0.113.1 2026-06-02 04:44:17 +00:00
dotlambdaandGitHub 56aa5837a1 libcdr: 0.1.8 -> 0.1.9 (#524675) 2026-06-02 04:40:59 +00:00
K900andGitHub 3aa43af1b8 xwayland: 24.1.11 -> 24.1.12 (#526956) 2026-06-02 04:22:50 +00:00
nixpkgs-ci[bot]andGitHub 3fdb0f8259 journalist: fix malformed vendorHash (stray trailing "s") (#526893) 2026-06-02 03:58:39 +00:00