nixpkgs/nixos/modules/system/boot
nikstur 2710a49adb nixos/systemd-sysusers: stop creating users statically
On Linux we cannot feasbibly generate users statically because we need
to take care to not change or re-use UIDs over the lifetime of a machine
(i.e. over multiple generations). This means we need the context of the
running machine.

Thus, stop creating users statically and instead generate them at
runtime irrespective of mutableUsers.

When /etc is immutable, the password files (e.g. /etc/passwd etc.) are
created in a separate directory (/var/lib/nixos/etc). /etc will be
pre-populated with symlinks to this separate directory.

Immutable users are now implemented by bind-mounting the password files
read-only onto themselves and only briefly re-mounting them writable to
re-execute sysusers. The biggest limitation of this design is that you
now need to manually unmount this bind mount to change passwords because
sysusers cannot change passwords for you. This shouldn't be too much of
an issue because system users should only rarely need to change their
passwords.
2024-07-21 16:23:11 +02:00
..
loader nixos/systemd-boot: give systemdBootBuilder a better name 2024-07-16 19:53:57 +02:00
systemd nixos/systemd-sysusers: stop creating users statically 2024-07-21 16:23:11 +02:00
binfmt.nix treewide: Remove usage of pkgs.{system,hostPlatform} aliases 2024-05-16 11:48:32 +02:00
clevis.md treewide: Fix all Nix ASTs in all markdown files 2024-03-28 09:28:12 +01:00
clevis.nix nixos/clevis: add support for parent encrypted zfs datasets 2024-06-12 21:21:50 +03:00
emergency-mode.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
grow-partition.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
initrd-network.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
initrd-openvpn.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
initrd-ssh.nix Fix SSH in scripted initrd 2024-07-01 15:35:55 +02:00
kernel_config.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
kernel.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
kexec.nix
luksroot.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
modprobe.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
networkd.nix Merge pull request #317642 from melvyn2/systemd-networkd-network-options 2024-07-04 20:21:37 +02:00
pbkdf2-sha512.c
plymouth.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
resolved.nix nixos/systemd-stage-1: Support systemd-resolved 2024-05-21 20:55:37 -04:00
shutdown.nix
stage-1-init.sh nixos/stage-1-init: notify during copytoram 2024-05-22 18:43:18 -05:00
stage-1.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
stage-2-init.sh
stage-2.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
stratisroot.nix
systemd.nix nixos/virtualisation: increase priority for libvirt NSS modules 2024-06-25 20:22:14 +02:00
timesyncd.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
tmp.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
uki.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
unl0kr.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
uvesafb.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00