Commit graph

2602 commits

Author SHA1 Message Date
rnhmjoj 435a72e469
nixos/grub: generate BLS entries 2025-02-28 09:51:20 +01:00
Peder Bergebakken Sundt 527be14321 nixos/doc: convert links to manpages 2025-02-21 16:31:09 +01:00
nixpkgs-ci[bot] 3a870eb511
Merge master into staging-next 2025-02-19 18:04:49 +00:00
Jörg Thalheim 39dd19122f install-grub: add missing rmtree 2025-02-19 14:33:46 +07:00
nixpkgs-ci[bot] 9bd398d5e9
Merge master into staging-next 2025-02-18 12:05:57 +00:00
Michele Guerini Rocco d05074f981
nixos/getty: only include if config.console.enable == true (#363533) 2025-02-18 11:44:42 +01:00
nixpkgs-ci[bot] 83f409d731
Merge master into staging-next 2025-02-18 06:04:52 +00:00
Jörg Thalheim 5be6db6b3d
grub modernize (#374844) 2025-02-18 13:03:24 +07:00
nixpkgs-ci[bot] 71e949e746
Merge master into staging-next 2025-02-18 00:14:29 +00:00
Fernando Rodrigues cf4c8e97ad
nixos/networkd: add new options introduced in systemd 257
The Wireguard public key can now be read from a file.

Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2025-02-17 21:51:40 +00:00
nixpkgs-ci[bot] fc7fa5f568
Merge master into staging-next 2025-02-17 00:15:35 +00:00
Arian van Putten 3835432751
systemd-repart: Enable custom --empty flags in initrd (#373414) 2025-02-16 20:03:50 +01:00
K900 daadcbdaac nixos/systemd-stage-1: explicitly add pkgs.runtimeShell dependency
Because it's no longer pkgs.bash (which is interactive), and
can be something else on other platforms anyway.
2025-02-16 19:42:14 +03:00
nixpkgs-ci[bot] 43a5de6cbb
Merge master into staging-next 2025-02-14 12:05:56 +00:00
Maximilian Bosch 4eccb53550
nixos/tmpfiles: fix docs
Closes #381822

Apparently, I swapped `path` and `tmpfiles-type` in
2be50b1efe. Sorry about that 🫠

Also giving
`systemd.tmpfiles.settings.<config-name>.<path>.<tmpfiles-type>.type` a
better default in the manual than `‹name›`, i.e. `‹tmpfiles-type›` so
that it corresponds to the placeholders in the attribute path.
2025-02-14 09:42:43 +01:00
Jared Baur 3de7bccd4a
nixos/systemd-boot: strip newline from machine-id
To make each line in the entry file consistent, strip the newline from
the machine-id content.
2025-02-13 18:52:14 -08:00
Wolfgang Walther b19d0f6d3d
treewide: replace substituteAll with replaceVars 2025-02-10 22:51:56 +01:00
Arian van Putten 587efe0fd0
Unbork journals audit logs and introduce audit option (#379629) 2025-02-10 12:09:32 +01:00
Arian van Putten ff78e34e0b services/journald: introduce audit option
We default this option to null ; which is different
from upstream which defaults this to true.

Defaulting this to true leads to log-spam in /dev/kmesg
and thus in our opinion is a bad default https://github.com/systemd/systemd/issues/15324
2025-02-07 15:58:19 +01:00
Arian van Putten 13b1062730 services/journald: re-enable systemd-journald-audit.socket
This was broken due to https://github.com/systemd/systemd/pull/25687
but we never noticed.
2025-02-07 14:14:53 +01:00
therainisme 0a12b8d03d
systemd: fix typo in boot.kernelParams (hierachy → hierarchy) 2025-02-07 12:06:23 +08:00
Jörg Thalheim b29c6f5a4a
stage-2-init: fix false positives for RO Nix store mounts (#375257) 2025-02-02 08:58:03 +07:00
Franz Pletz ca0a9a0ed6
nixos/grub: Remove > from submenu title, unbreak grub-reboot (#284987) 2025-01-29 09:23:46 +01:00
Wolfgang Walther b9ea481784
nixos/systemd-boot: replace substituteAll with replaceVarsWith 2025-01-28 22:30:26 +01:00
Peder Bergebakken Sundt fd60375c7a nixos/timesyncd: strip man: prefix from manpage links 2025-01-27 02:47:02 +01:00
Peder Bergebakken Sundt 75b2b7e946 nixos/*: undo manual linking to known manpage urls
Made with:

jq <doc/manpage-urls.json 'to_entries[] | "rg -F \"[\(.key)](\(.value))\" nixos/ -l | xe sd -F \"[\(.key)](\(.value))\" \"{manpage}`\(.key)`\""' -r  | tr \" \' | bash -x

(requires ripgrep, sd and xe)
2025-01-27 02:47:02 +01:00
Peder Bergebakken Sundt 953f72e76e nixos/*: tag manpage references 2025-01-27 02:47:01 +01:00
Morgan Jones 2f3a80c96f
stage-2-init: fix false positives for RO Nix store mounts
We need to take the "top" mount instead of any mount, which is the last
line printed by findmnt. Additionally, make the regex more strict, so we
don't select mount options ending in ro (like `errors=remount-ro` from
ext4, or overlay paths ending in 'ro') and accidentally leave the Nix
store RW after boot.
2025-01-20 00:27:18 -08:00
Yureka 3b6f658130
init-script-builder: fix build (#375160)
Change-Id: I244160844aad5fcfcab323dd721cfd87e4b8ddc0
2025-01-20 08:29:57 +01:00
Jörg Thalheim 33c2472b69 nixos/install-grub: don't use bare file handles and 3 argument open
this is not best practice perl since a long time.

<!-- ps-id: 225e1b18-348c-412f-8ecd-394f3ba9a32d -->
2025-01-18 17:33:53 +01:00
Jörg Thalheim 8d5abcd1bb nixos/install-grub: use more modern make_path
mkpath is a legacy interface.

<!-- ps-id: 0f1e0583-9cc5-4006-a4a2-fd413fe8117e -->
2025-01-18 17:33:53 +01:00
nixpkgs-ci[bot] 31193d78d8
Merge master into staging-next 2025-01-16 18:04:20 +00:00
WilliButz bc5b78f993
nixos/systemd-tmpfiles: fix ordering of systemd-tmpfiles-setup-sysroot
Prior to this change a service failure would occur when this tmpfiles
service did not finish fast enough and receive a SIGTERM from systemd.
Additionally, `initrd-nixos-activation` is already ordered with
`After=initrd-switch-root.target`.
2025-01-15 15:43:36 +01:00
phaer d2cadf484c repart: Enable custom --empty flags in initrd
By default, systemd-repart refuses to act on empty disk devices, i.e.
those without any existing partition table for safety reasons.

This behaviour can be customized via the `--empty` flag, which we now
expose via the module system. This makes to partition empty disks
on first boot.
2025-01-13 12:13:19 +01:00
github-actions[bot] 74a6c68160
Merge master into staging-next 2025-01-12 18:04:11 +00:00
Christian Kögler 40932c9afa
nixos/luksroot: Check if the device was opened while reading password (#369627) 2025-01-12 14:25:08 +01:00
K900 914d17e050 nixos/boot/loader/generic-extlinux-compatible: fix eval on cross as well 2025-01-11 20:47:19 +03:00
K900 fbb4d057d1 nixos/boot/loader/generic-extlinux-compatible: fix eval 2025-01-11 20:42:58 +03:00
K900 350a060f1d Merge remote-tracking branch 'origin/master' into staging-next 2025-01-09 22:02:14 +03:00
Julien Malka 851f7fc119
nixos/clevis: do not use systemd-udev-settle (#372374) 2025-01-09 14:58:13 +01:00
rnhmjoj 2b19079b86
nixos/clevis: do not use systemd-udev-settle
See https://github.com/NixOS/nixpkgs/issues/73095 for motivations.
In this case we can just use tpm2.target (available since systemd 256).
2025-01-09 14:23:38 +01:00
github-actions[bot] ded5a5e552
Merge master into staging-next 2025-01-09 00:14:35 +00:00
Andreas Fuchs ad55e1a1ef Make systemd-resolved's config file a reload trigger
It is documented to re-read its configuration file upon reload, so
we can simply reload it instead of restarting the whole daemon.
2025-01-08 13:38:04 -05:00
Andreas Fuchs 0c5719fe0e Don't stop systemd-{networkd,resolved,udevd} on config switch
These daemons should not be stopped, as they're foundational to a
proper functioning of the system. When switching configurations, they
only need a restart instead of that stop/start cycle.
2025-01-08 13:05:27 -05:00
K900 9e51fd8b02 Merge remote-tracking branch 'origin/master' into staging-next 2025-01-06 21:13:31 +03:00
Will Fancher fd8696a178 nixos/systemd-stage-1: Fix FIDO2 udev rules
Fixes #368856
2025-01-06 11:41:39 -05:00
K900 1d9d206c4e Merge remote-tracking branch 'origin/staging-next' into staging 2025-01-05 00:25:30 +03:00
Will Fancher 15be453e9a
switch-to-configuration: Better handling of socket-activated units (#359724) 2025-01-04 11:51:21 -05:00
K900 936f4e016d Merge remote-tracking branch 'origin/staging-next' into staging 2025-01-02 19:21:56 +03:00
Julien Malka fa99ba3c13
nixos/systemd-boot: Don't write to /etc/machine-id (#347493) 2025-01-02 11:47:20 +01:00
github-actions[bot] d8e41027cf
Merge staging-next into staging 2024-12-31 12:05:50 +00:00
Christian Kögler 1c9a0c2c1b
nixos/networkd: add RequestAddress to network sectionDHCPv4 (#366864) 2024-12-31 11:22:15 +01:00
Vladimir Panteleev a5cc2d090e nixos/luksroot: Check if the device was opened while reading password
Helps the following situation:

- SSH in initrd is enabled

- NixOS is waiting for a password to be typed at the console (or
  provided via cryptsetup-askpass)

- The user logs in via SSH, but instead of running cryptsetup-askpass,
  they run "cryptsetup open" directly (because they don't know that
  they need to use NixOS's cryptsetup-askpass script, or because they
  want to use a non-trivial unlocking method that is not natively
  supported by this module)

Currently, in the above situation, NixOS will keep waiting for a
password to be entered even though the device is already unlocked. If
a password is entered, it will print a confusing "already exists"
error and keep asking for the same password.

We can improve on this by simply checking if the device is already
unlocked in our read loop. In this case, we don't need to do anything
other than return from the function and continue booting.
2024-12-31 09:21:25 +00:00
github-actions[bot] ec149a86e5
Merge staging-next into staging 2024-12-31 00:14:41 +00:00
Will Fancher 629c936fd2 nixos/plymouth: Respect plymouth.enable=0 in scripted stage 1
Removing the splash param only causes plymouth to display console
output by default; it still runs. Systemd stage 1 respects this flag
due to unit conditions preventing plymouth from even running. So this
brings parity to scripted stage 1.
2024-12-30 13:06:00 -05:00
K900 24c287ca64 Merge remote-tracking branch 'origin/staging-next' into staging 2024-12-26 10:09:36 +03:00
Franz Pletz 354e6458a9
nixos/networkd: add NetLabel & NFTSet options (#367615) 2024-12-26 04:15:11 +01:00
github-actions[bot] cf45abc720
Merge staging-next into staging 2024-12-24 06:05:30 +00:00
Will Fancher 08b6cf5430
(pkgs, nixos)/unl0kr - update to accomodate upstream changes (#362825) 2024-12-23 20:08:39 -05:00
hustlerone 66e4c2103d pkgs/unl0kr: superseded by pkgs.buffybox
nixos/unl0kr: accomodate for the future
2024-12-23 19:07:26 -05:00
Franz Pletz 18a943798a
nixos/networkd: add NetLabel & NFTSet options 2024-12-23 12:29:58 +01:00
K900 81932cf82a Merge remote-tracking branch 'origin/staging-next' into staging 2024-12-20 21:34:46 +03:00
Arne Keller e4e994e3fc
nixos/luksroot: Exit if EOF detected in cryptsetup-askpass (#298592) 2024-12-20 19:15:58 +01:00
FlafyDev 40086fb0ea nixos/networkd: add RequestAddress to network sectionDHCPv4 2024-12-20 18:22:47 +02:00
github-actions[bot] 3529967f0f
Merge staging-next into staging 2024-12-18 12:06:30 +00:00
Florian Klink b2e99477cd
nixos/systemd: don't require network-online.target for multi-user.taget v2 (#365809) 2024-12-18 09:52:38 +02:00
github-actions[bot] 74b55d7c5b
Merge staging-next into staging 2024-12-18 06:05:46 +00:00
Logan Attwood 6c324710e3 nixos/networkd: expose RapidCommit in DHCPv4 network unit section
Disabling this option is required to obtain a DHCPv4 lease from
some old/misconfigured DHCP servers. This was already exposed for
DHCPv6.
2024-12-18 01:03:54 -04:00
rnhmjoj 2370696dff
nixos/systemd: don't require network-online.target for multi-user.target v2
This is another attempt at 62f30634 after the original change was reverted in
0d85bf0e because NetworkManager and other tests were broken.
2024-12-16 18:12:47 +01:00
Moritz Sanft 7fb2f407c0
nixos/getty: only include if config.console.enable
This makes it so that the getty units are only included if
`config.console.enable` is set to `true`. Previously, they would be
included, but disabled in that case, which is unnecessary.
2024-12-16 08:45:10 +01:00
Wolfgang Walther e58e0c158e
various: replace substituteAll with replaceVarsWith
This covers cases which need to use replaceVarsWith because the use
isExecutable = true.
2024-12-15 13:35:30 +01:00
Arne Keller 8bbf8450e4
extlinux-conf-builder: don't emit MENU when timeout is zero (#318778) 2024-12-12 16:31:02 +01:00
WilliButz 58df438b47
nixos/systemd-tmpfiles: use types.attrsWith for settings (#363939) 2024-12-12 15:54:31 +01:00
Maximilian Bosch 2be50b1efe
nixos/systemd-tmpfiles: use types.attrsWith for settings
That way it's way easier to derive from the manual which key is used for
what exactly.
2024-12-12 13:48:39 +01:00
Silvan Mosberger 4f0dadbf38 treewide: format all inactive Nix files
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.

Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.

A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.

This commit was automatically created and can be verified using

    nix-build a08b3a4d19.tar.gz \
      --argstr baseRev b32a094368
    result/bin/apply-formatting $NIXPKGS_PATH
2024-12-10 20:26:33 +01:00
Arne Keller 9ad61cfc19
nixos/plymouth: add support for logo in catppuccin (two-step) theme (#304045) 2024-12-10 18:43:49 +01:00
Colin 52643c64cd nixos/unl0kr: add a package option 2024-12-04 20:13:08 +00:00
Franz Pletz f9f7d7b58c
nixos/networkd: use upstream wait-online@ unit (#360319) 2024-12-03 21:40:30 +01:00
Philip Taron 898a5023f3
nixos/boot: merge to maintain commit signatures 2024-12-02 08:58:37 -08:00
Philip Taron 548eb2776d
nixos/boot: remove lib.mdDoc from boot.modprobeConfig.useUbuntuModuleBlacklist 2024-12-02 08:58:27 -08:00
Franz Pletz 357fff0f44
nixos/networkd: allow configuring RTTSec for CAKE qdisc (#285737) 2024-11-30 07:25:54 +01:00
Franz Pletz 0d48c50f4b
nixos/networkd: use upstream wait-online@ unit
Use the upstream unit for systemd-networkd-wait-online@.service and fix
the spelling.
2024-11-30 07:15:46 +01:00
Franz Pletz 18cf9ad14b
nixos/networkd: fix eval
Broken by #330662.
2024-11-30 07:08:18 +01:00
Franz Pletz e383460f09
nixos/networkd: add dhcpServerConfig.PersistLeases option (#353189) 2024-11-30 06:46:51 +01:00
Franz Pletz e5a4cc81ab
nixos/networkd: add some new options in systemd 256 (#330662) 2024-11-30 06:44:55 +01:00
Andreas Fuchs bf9c6c9861 switch-to-configuration-ng: Better handling of socket-activated units
Previously, if any unit had a socket associated with it, stc-ng
counted it as "socket-activated", meaning that the unit would get
stopped and the socket get restarted. That can wreak havoc on units
like systemd-udevd and systemd-networkd.

Instead, let units set the new flag notSocketActivated, which sets a
boolean on the unit indicating to stc-ng that the unit wants to be
treated like any other non-socket-activated unit instead. That will
stop/start or restart these units on upgrades, without unnecessarily
tearing down any machinery that the system needs to run.
2024-11-27 21:36:09 -05:00
Wolfgang Walther d232880c20
various: remove left-over rtc_cmos rootModule
This is not needed anymore after
65a50ea453.
2024-11-26 22:02:46 +01:00
Sandro 8e82ef5df1
nixos/binfmt: add option addEmulatedSystemsToNixSandbox (#354533) 2024-11-26 16:35:42 +01:00
Sandro 4c79ccf34d
nixos/luksroot: make it harder to accidentially break cryptsetup (#355464) 2024-11-21 18:38:55 +01:00
Will Fancher a599ce82dd
nixos/networkd: warn about naively replacing IPForward (#356955) 2024-11-18 20:10:52 -08:00
Will Fancher 768f628de7
nixos/systemd-stage-1: nixos-find-nixos-closure before initrd.target (#357135) 2024-11-18 19:33:21 -08:00
Will Fancher af8279fe38 nixos/systemd-stage-1: nixos-find-nixos-closure before initrd.target
Without this, boot could proceed to the initrd cleanup step before the
closure was found, killing the service and breaking boot.
2024-11-18 21:14:51 -05:00
Maximilian Bosch 06f50f4adf
nixos/networkd: warn about naively replacing IPForward
See https://github.com/systemd/systemd/issues/33414.

The way this was phrased sounded like a dumb search/replace operation to
me. This resulted in random parts of my routing being broken (forward
from if X -> Y being fine, but the opposite direction being broken).

This change makes it explicit that it's a little more complicated and
you should really consult the docs before making that change.
2024-11-18 14:16:38 +01:00
Wolfgang Walther 8ca24a7a2b
nixos: remove boot.loader.raspberryPi
This has been announced for 24.11 in #241534, so let's follow through.
2024-11-17 12:33:57 +01:00
Sandro b861831405
nixos/luksroot: make it harder to accidentially break cryptsetup 2024-11-12 16:53:46 +01:00
Will Fancher 6cfd95fc8c nixos/systemd-stage-1: Order nixos activation after initrd-switch-root.target
Now it's placed between initrd-switch-root.target and
initrd-switch-root.service, meaning it is truly the last thing to
happen before switch-root, as it should be.
2024-11-11 05:52:18 -05:00
Will Fancher f065a81ab4 nixos/systemd-stage-1: Use chroot-realpath 2024-11-11 05:52:18 -05:00
Peder Bergebakken Sundt bbb6e83f51 nixos/binfmt: add option addEmulatedSystemsToNixSandbox 2024-11-08 17:31:06 +01:00
Sandro 38ea21bd5d
Don't run hwclock if /etc/ is not writable (#353320) 2024-11-06 18:25:41 +01:00
Aleksana 81dacf0c91
nixos/systemd: fix enableStrictShellChecks description (#348513) 2024-11-05 23:03:19 +08:00