Commit Graph
984370 Commits
Author SHA1 Message Date
r-vdp 99b70cdb1d switch-to-configuration-ng: replace is_unit_disabled with UnitFileState
is_unit_disabled mapped any canonicalize() error to "disabled" via
unwrap_or(true), conflating ENOENT with transient I/O failures. For
new_dropins.all(is_unit_disabled) that meant a transient error on a
still-present drop-in could read as "all masked" and stop a unit that
is still configured.

Replace the boolean helper with a tri-state UnitFileState (Present /
Masked / Missing) returned from unit_file_state(). Only ENOENT maps to
Missing; other errors are propagated so callers cannot accidentally
pick the wrong default.
2026-04-30 18:07:01 +02:00
r-vdp b12732fb6c switch-to-configuration-ng: fix dropins_removed comments 2026-04-30 18:07:00 +02:00
r-vdp 959218abd6 switch-to-configuration-ng: take &Path in is_unit_disabled
canonicalize() only needs &self, so there is no reason to take ownership
of the PathBuf. Accepting impl AsRef<Path> lets the glob iterator call
sites keep passing owned PathBufs to .all() while the direct call on
new_base_unit_file no longer needs to clone.
2026-04-30 18:07:00 +02:00
r-vdp 575bbbbc76 switch-to-configuration-ng: Escape unit paths in drop-in glob
Unit names may contain backslashes (e.g. from systemd-escape) and the
toplevel path is user-influenced; both were previously fed unescaped
into glob() where they could be misinterpreted as metacharacters and
silently match nothing.

Factor the pattern into a helper that escapes the path prefix and use
it at all four call sites.
2026-04-30 18:06:59 +02:00
Lucas Savvaandr-vdp 418a0ae8f9 switch-to-configuration-ng: Stop drop-in template instances
As the test shows, stc-ng previously did not correctly account for the
removal of template instances defined with overrideStrategy "asDropin".
A real use case does exist: Defining systemd-nspawn container units
which inherit the settings from the vendored systemd-nspawn@.service.

I tried to find the least intrusvie but stable solution here. The
globbing is technically unnecessary but it mimics the behaviour and
implementation in parse_unit.
2026-04-30 18:06:59 +02:00
Fabian AffolterandGitHub e5b49d15a5 cnspec: 13.4.1 -> 13.5.0 (#512068) 2026-04-22 11:00:03 +00:00
Fabian AffolterandGitHub fa29299909 python3Packages.agentic-threat-hunting-framework: 0.11.1 -> 0.11.2 (#512216) 2026-04-22 10:59:29 +00:00
Fabian AffolterandGitHub c3cd71ff80 pphack: 0.1.2 -> 0.1.3 (#512294) 2026-04-22 10:58:57 +00:00
José Romildo MalaquiasandGitHub 42cd3e5163 enlightenment.evisum: 1.2.2 -> 1.2.3 (#512037) 2026-04-22 10:50:08 +00:00
Thiago Kenji OkadaandGitHub 5b397815d1 libretro.parallel-n64: 0-unstable-2025-12-04 -> 0-unstable-2026-04-20 (#512327) 2026-04-22 10:41:31 +00:00
Paul HaerleandGitHub 071328236b pkgs-lib/formats: use go-toml instead of yj for toml.generate, go-toml: drop allowGoReference (#512319) 2026-04-22 10:41:19 +00:00
phaerandphaer e23ad3bd27 pkgs-lib/formats: switch toml generator from yj to go-toml (jsontoml)
Fixes NixOS/nixpkgs#511970, sclevine/yj#52.

Replace yj with go-toml's jsontoml for JSON-to-TOML conversion.
Update tomlAtoms expected output for go-toml's literal-string style.
2026-04-22 12:17:40 +02:00
phaerandphaer d5551849a5 go-toml: drop erroneous allowGoReference
allowGoReference was added in 5a69b0b3c4 (2024-04-29) with the
comment 'allowGoReference adds the flag -trimpath'.  This is
backwards: allowGoReference = true *disables* -trimpath and *allows*
the Go compiler to remain in the runtime closure (257 MiB).

The package builds and passes all tests without it.  Dropping it
re-enables -trimpath and shrinks the runtime closure from 263.6 MiB
to 8.6 MiB.
2026-04-22 12:17:40 +02:00
phaerandphaer 32c7a5e046 pkgs-lib/formats: add regression tests for toml generator
Add two shouldPass tests that catch known yj regressions:

- tomlHeterogeneousArray: arrays mixing scalars and attrsets crash yj
  with 'unexpected primitive type' (NixOS/nixpkgs#511970)

- tomlCommaInKey: keys containing commas are silently truncated
  because yj stores TOML keys in Go struct tags where commas are
  option separators (sclevine/yj#52)

Expected values are taken from go-toml's jsontoml output.
Both tests fail under the current yj backend.
2026-04-22 12:17:33 +02:00
kirillrdyandGitHub 2bfec39a2d gemini-cli: 0.38.1 -> 0.38.2 (#512318) 2026-04-22 10:14:53 +00:00
R. Ryantm e0a137109d libretro.parallel-n64: 0-unstable-2025-12-04 -> 0-unstable-2026-04-20 2026-04-22 10:10:51 +00:00
K900andGitHub 6ad3725248 kdePackages.spectacle: fix OCR runtime loading (#512240) 2026-04-22 09:41:56 +00:00
myul 296f66161a kdePackages.spectacle: backport tesseract linking fix for OCR 2026-04-22 17:36:29 +08:00
R. Ryantm 0c46d3dedb gemini-cli: 0.38.1 -> 0.38.2 2026-04-22 09:35:11 +00:00
Masum RezaandGitHub e67edd135f drbd: enable strictDeps (#509355) 2026-04-22 09:34:48 +00:00
Masum RezaandGitHub 9681f23e1d libxklavier: enable strictDeps, modernize (#509583) 2026-04-22 09:32:27 +00:00
Felix BargfeldtandGitHub 022e19fa47 fastfetchMinimal: 2.61.0 -> 2.62.0 (#512282) 2026-04-22 09:18:37 +00:00
Pol DellaieraandGitHub 579e0a2b9e sbb-tui: init at 1.13.4 (#511553) 2026-04-22 09:13:48 +00:00
Tomas Rivera b2e3d337fa sbb-tui: init at 1.13.4 2026-04-22 11:05:44 +02:00
Martin WeineltandGitHub a5f16a4a4e qbz: 1.2.7 -> 1.2.8 (#512277) 2026-04-22 08:56:52 +00:00
nixpkgs-ci[bot]andGitHub 6d1d383ba8 remnote: 1.25.7 -> 1.25.19 (#512242) 2026-04-22 08:56:33 +00:00
Thiago Kenji OkadaandGitHub bd6dfebf37 libretro.snes9x2002: 0-unstable-2026-03-31 -> 0-unstable-2026-04-20 (#512250) 2026-04-22 08:50:29 +00:00
Niklas KorzandGitHub ca1f81274e zed-editor: 0.232.2 -> 0.232.3 (#512115) 2026-04-22 08:50:26 +00:00
Thiago Kenji OkadaandGitHub e276c774c7 libretro.quicknes: 0-unstable-2026-03-31 -> 0-unstable-2026-04-20 (#512260) 2026-04-22 08:50:14 +00:00
Thiago Kenji OkadaandGitHub 0eb3e93485 libretro.virtualjaguar: 0-unstable-2026-04-03 -> 0-unstable-2026-04-16 (#512270) 2026-04-22 08:49:59 +00:00
Marc JakobiandGitHub 768447fd62 figtree: output webfonts (#512291) 2026-04-22 08:39:35 +00:00
nixpkgs-ci[bot]andGitHub 5586f5ed95 amp-cli: 0.0.1776125492-g5cb0c2 -> 0.0.1776834056-gfb3ba0 (#512269) 2026-04-22 08:20:57 +00:00
R. Ryantm 297395e268 pphack: 0.1.2 -> 0.1.3 2026-04-22 08:18:21 +00:00
ners ef67b11ab0 figtree: output webfonts 2026-04-22 10:02:51 +02:00
ners 070f0e9c51 figtree: add ners to maintainers 2026-04-22 10:02:51 +02:00
K900andGitHub 1b56a8f68b matrix-continuwuity: 0.5.6 -> 0.5.7 (#510990) 2026-04-22 07:43:20 +00:00
nixpkgs-ci[bot]andGitHub cea9d7c588 slackdump: 4.1.2 -> 4.3.0 (#495695) 2026-04-22 07:32:04 +00:00
R. Ryantm dd2849e56e fastfetchMinimal: 2.61.0 -> 2.62.0 2026-04-22 07:17:26 +00:00
Felix Singer 99084a00af qbz: 1.2.7 -> 1.2.8
Signed-off-by: Felix Singer <felixsinger@posteo.net>
2026-04-22 09:10:16 +02:00
Aaron AndersenandGitHub d64a0dfdd0 ly: populate $out/etc directory with relevant files (#512045) 2026-04-22 06:41:10 +00:00
R. Ryantm a39a8d1cb1 libretro.virtualjaguar: 0-unstable-2026-04-03 -> 0-unstable-2026-04-16 2026-04-22 06:04:34 +00:00
R. Ryantm c7a407e641 amp-cli: 0.0.1776125492-g5cb0c2 -> 0.0.1776834056-gfb3ba0 2026-04-22 05:58:54 +00:00
Pol DellaieraandGitHub 274c537c29 open-webui: 0.8.12 -> 0.9.1 (#512099) 2026-04-22 05:41:22 +00:00
R. Ryantm c997453117 libretro.quicknes: 0-unstable-2026-03-31 -> 0-unstable-2026-04-20 2026-04-22 05:09:24 +00:00
Ben SiraphobandGitHub 277a35d043 itgmania: add new package scope for themes, update to 1.2.1 (#501591) 2026-04-22 04:57:46 +00:00
R. Ryantm bae44db9b3 libretro.snes9x2002: 0-unstable-2026-03-31 -> 0-unstable-2026-04-20 2026-04-22 03:59:50 +00:00
tomberekandGitHub 0438c4c184 python3Packages.aioghost: 0.4.10 -> 0.4.11 (#512201) 2026-04-22 03:49:35 +00:00
tomberekandGitHub 8abbe28ee6 firebase-tools: 15.14.0 -> 15.15.0 (#512225) 2026-04-22 03:49:15 +00:00
kirillrdyandGitHub e929c6ee7d ruby_4_0: 4.0.2 -> 4.0.3 (#512089) 2026-04-22 03:45:45 +00:00
Niklas HambüchenandGitHub f51b1ca50e veroroute: 2.39 -> 2.40 (#512227) 2026-04-22 03:45:01 +00:00