Commit Graph

966 Commits

Author SHA1 Message Date
Aliaksandr
eeff298718 nixos/fwupd: populate /run/fwupd-efi via systemd-tmpfiles
fwupd is now built with `efi_app_location = /run/fwupd-efi` so that
setups signing their EFI binaries (lanzaboote, sbctl, ...) can place the
signed app next to the unsigned one, which is impossible inside the
read-only store.

Nothing created that directory yet, so copy the unsigned app there from
`fwupd.fwupd-efi`. `C+` merges into an existing directory without
replacing files, so signed variants written by a bootloader module are
kept; the copy is refreshed whenever the rule (and thus the fwupd-efi
store path) changes.

Assisted-by: claude-code with claude-opus-5[1m]-high
2026-08-16 01:24:15 +03:00
Anton Lydike
a1b280a969 nixos/fwupd: add missing lib.mkDefault for EspLocation 2026-08-16 00:51:42 +03:00
Aliaksandr
61ab156083 nixos/fwupd: don't install grub hook on non-grub bootloaders
The fwupd package ships /etc/grub.d/35_fwupd, which the module
symlinks unconditionally via filesInstalledToEtc.
Gate it on config.boot.loader.grub.enable option
so the hook only appears on GRUB systems.

Assisted-by: claude-code with Opus 4.7 xhigh
2026-08-16 00:47:29 +03:00
luytan
86c0b672fd nixos/cardwired: init 2026-08-14 09:58:17 +02:00
Grimmauld
5e4b0325a8 pid-fan-controller: 0.1.3 -> 0.1.5 (#550273) 2026-08-08 12:43:06 +00:00
zimward
97e4f3b42a nixos/pid-fan-controller: remove deep configuration rewriting; update service wantedBy 2026-08-07 20:44:35 +02:00
Luna Schwalbe
060be144e0 nixos/kmonad: disable service restart
The path unit is responsible for starting the service whenever the specified path exists.
Restart=always effectively does nothing while the path exists, and only restarts the service unnecessarily when it doesn't.
Combined with a delay starting at 2 seconds, we never hit the configured start limit and kept indefinitely restarting the service.
This in turn also makes things like `nixos-rebuild switch` fail if it believes the service needs to be restarted.
2026-08-05 23:58:38 +02:00
K900
fa966bbfbf inputplumber: fix config files not linked by default (#522249) 2026-08-04 18:02:35 +00:00
Sandro
7678b55dd7 brscan5: fix pkg and nixos module (#523273) 2026-07-18 17:08:55 +00:00
Sandro
aa11b01665 watt: init at 1.2.0 (#530895) 2026-07-13 00:16:55 +00:00
Soliprem
451d7918ff watt: init at 1.2.0 2026-06-29 23:56:06 +02:00
K900
caea65bc86 Merge remote-tracking branch 'origin/master' into staging-next 2026-06-27 17:13:58 +03:00
Will Fancher
02e9cd1abd nixos/udev: Copy dmi_memory_id only if installed (#475455) 2026-06-25 04:10:09 +00:00
nixpkgs-ci[bot]
0c7c24795b Merge staging-next into staging 2026-06-15 00:51:50 +00:00
Martin Weinelt
00343843d4 nixos/tuned: opt into pkexec 2026-06-11 20:31:48 +02:00
nixpkgs-ci[bot]
78e362a433 Merge staging-next into staging 2026-06-11 00:48:37 +00:00
Philip Taron
22d0bd3ea5 maintainers: add jade (#527659) 2026-06-10 19:47:49 +00:00
Michael Daniels
8197942b23 Merge branch 'staging-next' into staging 2026-06-08 22:01:24 -04:00
Ryan Horiguchi
008e87e5c2 scanservjs: package the backend with the frontend
scanservjs has been ignoring the configuration options set by the NixOS
module since the v3.0.4 upgrade. This fixes it.

Create dirs/files in the NixOS module as needed by the new scanservjs
build.

Fixes: 7432e50d62 ("scanservjs: 2.27.1 -> 3.0.4")
Fixes: https://github.com/NixOS/nixpkgs/issues/475043 ("nixos/scanservjs: settings (host/port) ignored in v3.0.4")

Co-authored-by: Bjørn Forsman <bjorn.forsman@gmail.com>
2026-06-08 18:11:20 +02:00
nixpkgs-ci[bot]
6d151c9ef3 Merge staging-next into staging 2026-06-07 18:29:16 +00:00
Philip Taron
126e9b8e25 treewide: drop some unnecessary toString calls (#527924) 2026-06-07 13:03:10 +00:00
Michael Daniels
a6443260b0 Merge branch 'staging-next' into staging 2026-06-06 21:41:02 -04:00
Sandro
ae20d46e3a framework-control: init at 0.5.2 (#499988) 2026-06-06 20:21:23 +00:00
r-vdp
d9bf382cad nixos/fwupd: allow fwupd-refresh user to refresh metadata via polkit
Upstream's intended bypass is TrustedUids in fwupd.conf, but on NixOS
the fwupd-refresh uid is allocated at activation time and is not known
during evaluation. Add a polkit rule keyed on the user name instead.
2026-06-05 00:31:39 +03:00
Robert Hensing
235013cf37 treewide: drop unnecessary toString calls
Scope:
- Combination of
  - Textual matches of "baseNameOf (toString"
  - Redundant toString calls I've found with my latest
    "lazy paths" nix branch as they force lazy fetches into
    the store. More info and new PR soon.
- Only cases I believe are worthwhile or easily determined

I've determined the validity by
- testing llvmPackages instantiation
- figuring out which types can pass into any particular
  toString call - "human fuzzy type checker"

Behavior considerations by type:

- `path`: converted back to a string *without* context
  `baseNameOf` does not copy things to the store on its own,
  equivalent to its behavior for string inputs
- `null`: converted to `""` -> may be valid input!
  ok if "" would not have been acceptable anyway
- `string` itself: passed through identically -> trivial
- `attrset` with `outPath`: same coercion as built into
  the `baseNameOf` function -> trivial
- other atomic types: generally not sensible inputs to
  `baseNameOf` -> fuzzy but true
2026-06-04 13:11:56 +02:00
Jade Wilk
15a909e8d7 maintainers: add jade 2026-06-03 18:37:15 +01:00
kemal
0b8f171fe4 nixos/framework-control: init module 2026-05-30 15:13:31 -05:00
Gavin John
1a81754662 nixos/pcscd: expose package as option 2026-05-29 08:00:54 -07:00
shouya
90c3d4d814 brscan5: fix hardware.sane.brscan5 config 2026-05-23 19:24:51 +09:00
viserctul
a21a33f50d inputplumber: fix config files not linked by default 2026-05-20 15:40:11 +02:00
Aaron Andersen
762860ecc3 keyd: cleanup, nixos/keyd: cleanup (#477894) 2026-05-13 21:00:12 +00:00
Sandro
f19cfd8b79 nixos/logiops: init (#511476) 2026-05-13 20:49:43 +00:00
luytan
bb8790440b asusd: remove default supergfxctl 2026-05-08 10:25:48 +02:00
wxlyyy
bdb94e30e4 nixos/logiops: init 2026-04-27 19:31:30 +08:00
Stanisław Pitucha
29f8a25c06 pdudaemon: init at 1.1.1 (#499230) 2026-04-24 13:23:30 +00:00
Burfeind, Jan-Niklas
9508002438 nixos/pdudaemon: init module
based on the example in share/ in the project repo.
2026-04-22 18:02:35 +02:00
Michael Hoang
631af50122 pid-fan-controller: 0.1.1 -> 0.1.3; nixos/pid-fan-controller: RFC42 treatment (#511861) 2026-04-21 18:04:58 +00:00
zimward
98ac7ea42e nixos/pid-fan-controller: RFC42 treatment 2026-04-20 22:03:41 +02:00
zimward
0f12510790 nixos/pid-fan-controller: systemd units are now vendored 2026-04-20 21:48:35 +02:00
Colin
80f53f575f nixos/buffyboard: fixes for 3.5.1 (#506376) 2026-04-20 16:28:38 +00:00
zowoq
10cfa23144 nixos/rasdaemon: inherit maintainers from package 2026-04-16 11:15:29 +10:00
nixpkgs-ci[bot]
b3ca854ac7 Merge master into staging-nixos 2026-04-10 00:28:07 +00:00
Jacek Galowicz
10e5c485e4 hardware.amdgpu.zluda.enable: init 2026-04-09 21:21:12 +02:00
rnhmjoj
1e4eb2df3f nixos: completely remove systemd-udev-settle.service
This service is essentially a random sleep() call that old software that
is unable to properly handle modern hardware initialisation being
asynchronous can use to *mostly* get by.

Over the years is has caused so many issues in NixOS, like introducing
long delays in the boot process[1], complete deadlocks[2] and even failures
when reloading services or activating a new configuration[3].

systemd has been discouraging its use since 2011 (15 years ago!), then
it officially deprecated it in 2018 and since 2020 it started to show on
every boot a huge wall of text calling out all the offending services
that still use it.

Around 2021 we managed to fix around 15 NixOS modules[4] that were
relying on systemd-udev-settle and practically ZFS[5] was the only
remaining one. However, since then, people have actually started to
bring it back with new services[6][7][8]. This is not acceptable.

So, to prevent any more (lazy) uses of systemd-udev-settle, we stop
providing the systemd-udev-settle.service unit entirely. For existing
modules that unfortunately still need it, we replace it with the command
`udevadm settle --timeout=180`, which is all that the service does.
Hopefully this will also increase the awareness that it's bad and
something to be fixed.

Note: I tested this change using

 - `nixosTests.zfs`,
 - `nixosTests.ifstate`,
 - `nixosTests.misc`,
 - `nixosTests.openvswitch`,
 - `nixosTests.predictable-interface-names`
 - `nixosTests.nvidia-container-toolkit`

and making sure that none of the 165 packages that provide upstream
units (via the `systemd.packages` option) had a dependency on
systemd-udev-settle.service.

[1]: https://github.com/NixOS/nixpkgs/pull/25311
[2]: https://github.com/NixOS/nixpkgs/issues/107341
[3]: https://github.com/NixOS/nixpkgs/pull/113804
[4]: https://github.com/NixOS/nixpkgs/issues/73095
[5]: https://github.com/openzfs/zfs/issues/10891
[6]: https://github.com/NixOS/nixpkgs/pull/257525#discussion_r1442702970
[7]: https://github.com/NixOS/nixpkgs/pull/460075
[8]: https://github.com/NixOS/nixpkgs/pull/284507
2026-04-08 21:11:35 +02:00
Will Fancher
5513c368ad nixos/power-management: Handle resume correctly with sleep.target
Fixes `nixos.tests.hibernate` nondeterministic failure.

The documentation in `systemd.special(7)` recommends using this
`StopWhenUnneeded` method, rather than using custom unit logic
post-resume. This method is sufficiently general, and matches
systemd's typical model of using `ExecStart` and `ExecStop` as duals
that mirror each others processes across symmetric events in the
system's life cycle, e.g. bootup / shutdown.

This involved removing `post-resume.target`. This was introduced in
d5604f0b22 as a way to notify services
of resume events, but as discussed, this is not the typical model.

See: https://github.com/NixOS/nixpkgs/pull/488429/changes#r3038005884
2026-04-06 02:14:03 -04:00
Colin
7317686693 nixos/buffyboard: fix DE integration docs for 3.5.1 2026-04-03 19:23:28 +00:00
Colin
9595d7f870 nixos/buffyboard: document new keyboard.* options 2026-04-03 19:21:27 +00:00
coolGi
a6376cbcbd nixos/monado: fix performance being degraded 2026-03-28 11:12:55 +13:00
Connor Baker
359581dce3 Propagate errors from nvidia-container-toolkit-cdi-generator (#489218) 2026-03-18 16:16:31 +00:00
Masum Reza
02f920ebdf nixos/g810-led: support earlySetup in initrd (#368849) 2026-03-02 04:59:57 +00:00