Loading nixos/lib/systemd-lib.nix +4 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,10 @@ in rec { optional (attr ? ${name} && !isInt attr.${name}) "Systemd ${group} field `${name}' is not an integer"; assertRemoved = name: see: group: attr: optional (attr ? ${name}) "Systemd ${group} field `${name}' has been removed. See ${see}"; checkUnitConfig = group: checks: attrs: let # We're applied at the top-level type (attrsOf unitOption), so the actual # unit options might contain attributes from mkOverride and mkIf that we need to Loading nixos/modules/system/boot/networkd.nix +10 −1 Original line number Diff line number Diff line Loading @@ -18,12 +18,16 @@ let "ManageForeignRoutes" "RouteTable" "IPv6PrivacyExtensions" "IPv4Forwarding" "IPv6Forwarding" ]) (assertValueOneOf "SpeedMeter" boolValues) (assertInt "SpeedMeterIntervalSec") (assertValueOneOf "ManageForeignRoutingPolicyRules" boolValues) (assertValueOneOf "ManageForeignRoutes" boolValues) (assertValueOneOf "IPv6PrivacyExtensions" (boolValues ++ ["prefer-public" "kernel"])) (assertValueOneOf "IPv4Forwarding" boolValues) (assertValueOneOf "IPv6Forwarding" boolValues) ]; sectionDHCPv4 = checkUnitConfig "DHCPv4" [ Loading Loading @@ -652,6 +656,8 @@ let "DNSDefaultRoute" "NTP" "IPForward" "IPv4Forwarding" "IPv6Forwarding" "IPMasquerade" "IPv6PrivacyExtensions" "IPv6AcceptRA" Loading Loading @@ -700,7 +706,9 @@ let (assertValueOneOf "LLDP" (boolValues ++ ["routers-only"])) (assertValueOneOf "EmitLLDP" (boolValues ++ ["nearest-bridge" "non-tpmr-bridge" "customer-bridge"])) (assertValueOneOf "DNSDefaultRoute" boolValues) (assertValueOneOf "IPForward" (boolValues ++ ["ipv4" "ipv6"])) (assertRemoved "IPForward" "IPv4Forwarding and IPv6Forwarding in systemd.network(5) and networkd.conf(5)") (assertValueOneOf "IPv4Forwarding" boolValues) (assertValueOneOf "IPv6Forwarding" boolValues) (assertValueOneOf "IPMasquerade" (boolValues ++ ["ipv4" "ipv6" "both"])) (assertValueOneOf "IPv6PrivacyExtensions" (boolValues ++ ["prefer-public" "kernel"])) (assertValueOneOf "IPv6AcceptRA" boolValues) Loading Loading @@ -2835,6 +2843,7 @@ let "systemd-networkd-wait-online.service" "systemd-networkd.service" "systemd-networkd.socket" "systemd-networkd-persistent-storage.service" ]; environment.etc."systemd/networkd.conf" = renderConfig cfg.config; Loading nixos/modules/system/boot/stage-1.nix +1 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,7 @@ let # Copy udev. copy_bin_and_libs ${udev}/bin/udevadm cp ${lib.getLib udev.kmod}/lib/libkmod.so* $out/lib copy_bin_and_libs ${udev}/lib/systemd/systemd-sysctl for BIN in ${udev}/lib/udev/*_id; do copy_bin_and_libs $BIN Loading nixos/modules/system/boot/systemd.nix +14 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ let "cryptsetup.target" "cryptsetup-pre.target" "remote-cryptsetup.target" ] ++ optionals cfg.package.withTpm2Tss [ "tpm2.target" ] ++ [ "sigpwr.target" "timers.target" Loading Loading @@ -112,6 +114,7 @@ let "sleep.target" "hybrid-sleep.target" "systemd-hibernate.service" "systemd-hibernate-clear.service" "systemd-hybrid-sleep.service" "systemd-suspend.service" "systemd-suspend-then-hibernate.service" Loading @@ -136,6 +139,16 @@ let "systemd-ask-password-wall.path" "systemd-ask-password-wall.service" # Varlink APIs "systemd-bootctl@.service" "systemd-bootctl.socket" "systemd-creds@.service" "systemd-creds.socket" ] ++ lib.optional cfg.package.withTpm2Tss [ "systemd-pcrlock@.service" "systemd-pcrlock.socket" ] ++ [ # Slices / containers. "slices.target" ] ++ optionals cfg.package.withImportd [ Loading @@ -158,6 +171,7 @@ let ] ++ optionals cfg.package.withHostnamed [ "dbus-org.freedesktop.hostname1.service" "systemd-hostnamed.service" "systemd-hostnamed.socket" ] ++ optionals cfg.package.withPortabled [ "dbus-org.freedesktop.portable1.service" "systemd-portabled.service" Loading nixos/modules/system/boot/systemd/initrd.nix +6 −1 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ let "systemd-tmpfiles-setup-dev.service" "systemd-tmpfiles-setup.service" "timers.target" "tpm2.target" "umount.target" "systemd-bsod.service" ] ++ cfg.additionalUpstreamUnits; Loading Loading @@ -344,7 +345,8 @@ in { }; enableTpm2 = mkOption { default = true; default = cfg.package.withTpm2Tss; defaultText = "boot.initrd.systemd.package.withTpm2Tss"; type = types.bool; description = '' Whether to enable TPM2 support in the initrd. Loading Loading @@ -460,6 +462,7 @@ in { "${cfg.package}/lib/systemd/systemd-sulogin-shell" "${cfg.package}/lib/systemd/systemd-sysctl" "${cfg.package}/lib/systemd/systemd-bsod" "${cfg.package}/lib/systemd/systemd-sysroot-fstab-check" # generators "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator" Loading @@ -486,6 +489,8 @@ in { # fido2 support "${cfg.package}/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so" "${pkgs.libfido2}/lib/libfido2.so.1" ] ++ optionals cfg.package.withKmod [ "${pkgs.kmod.lib}/lib/libkmod.so.2" ] ++ jobScripts; targets.initrd.aliases = ["default.target"]; Loading Loading
nixos/lib/systemd-lib.nix +4 −0 Original line number Diff line number Diff line Loading @@ -169,6 +169,10 @@ in rec { optional (attr ? ${name} && !isInt attr.${name}) "Systemd ${group} field `${name}' is not an integer"; assertRemoved = name: see: group: attr: optional (attr ? ${name}) "Systemd ${group} field `${name}' has been removed. See ${see}"; checkUnitConfig = group: checks: attrs: let # We're applied at the top-level type (attrsOf unitOption), so the actual # unit options might contain attributes from mkOverride and mkIf that we need to Loading
nixos/modules/system/boot/networkd.nix +10 −1 Original line number Diff line number Diff line Loading @@ -18,12 +18,16 @@ let "ManageForeignRoutes" "RouteTable" "IPv6PrivacyExtensions" "IPv4Forwarding" "IPv6Forwarding" ]) (assertValueOneOf "SpeedMeter" boolValues) (assertInt "SpeedMeterIntervalSec") (assertValueOneOf "ManageForeignRoutingPolicyRules" boolValues) (assertValueOneOf "ManageForeignRoutes" boolValues) (assertValueOneOf "IPv6PrivacyExtensions" (boolValues ++ ["prefer-public" "kernel"])) (assertValueOneOf "IPv4Forwarding" boolValues) (assertValueOneOf "IPv6Forwarding" boolValues) ]; sectionDHCPv4 = checkUnitConfig "DHCPv4" [ Loading Loading @@ -652,6 +656,8 @@ let "DNSDefaultRoute" "NTP" "IPForward" "IPv4Forwarding" "IPv6Forwarding" "IPMasquerade" "IPv6PrivacyExtensions" "IPv6AcceptRA" Loading Loading @@ -700,7 +706,9 @@ let (assertValueOneOf "LLDP" (boolValues ++ ["routers-only"])) (assertValueOneOf "EmitLLDP" (boolValues ++ ["nearest-bridge" "non-tpmr-bridge" "customer-bridge"])) (assertValueOneOf "DNSDefaultRoute" boolValues) (assertValueOneOf "IPForward" (boolValues ++ ["ipv4" "ipv6"])) (assertRemoved "IPForward" "IPv4Forwarding and IPv6Forwarding in systemd.network(5) and networkd.conf(5)") (assertValueOneOf "IPv4Forwarding" boolValues) (assertValueOneOf "IPv6Forwarding" boolValues) (assertValueOneOf "IPMasquerade" (boolValues ++ ["ipv4" "ipv6" "both"])) (assertValueOneOf "IPv6PrivacyExtensions" (boolValues ++ ["prefer-public" "kernel"])) (assertValueOneOf "IPv6AcceptRA" boolValues) Loading Loading @@ -2835,6 +2843,7 @@ let "systemd-networkd-wait-online.service" "systemd-networkd.service" "systemd-networkd.socket" "systemd-networkd-persistent-storage.service" ]; environment.etc."systemd/networkd.conf" = renderConfig cfg.config; Loading
nixos/modules/system/boot/stage-1.nix +1 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,7 @@ let # Copy udev. copy_bin_and_libs ${udev}/bin/udevadm cp ${lib.getLib udev.kmod}/lib/libkmod.so* $out/lib copy_bin_and_libs ${udev}/lib/systemd/systemd-sysctl for BIN in ${udev}/lib/udev/*_id; do copy_bin_and_libs $BIN Loading
nixos/modules/system/boot/systemd.nix +14 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ let "cryptsetup.target" "cryptsetup-pre.target" "remote-cryptsetup.target" ] ++ optionals cfg.package.withTpm2Tss [ "tpm2.target" ] ++ [ "sigpwr.target" "timers.target" Loading Loading @@ -112,6 +114,7 @@ let "sleep.target" "hybrid-sleep.target" "systemd-hibernate.service" "systemd-hibernate-clear.service" "systemd-hybrid-sleep.service" "systemd-suspend.service" "systemd-suspend-then-hibernate.service" Loading @@ -136,6 +139,16 @@ let "systemd-ask-password-wall.path" "systemd-ask-password-wall.service" # Varlink APIs "systemd-bootctl@.service" "systemd-bootctl.socket" "systemd-creds@.service" "systemd-creds.socket" ] ++ lib.optional cfg.package.withTpm2Tss [ "systemd-pcrlock@.service" "systemd-pcrlock.socket" ] ++ [ # Slices / containers. "slices.target" ] ++ optionals cfg.package.withImportd [ Loading @@ -158,6 +171,7 @@ let ] ++ optionals cfg.package.withHostnamed [ "dbus-org.freedesktop.hostname1.service" "systemd-hostnamed.service" "systemd-hostnamed.socket" ] ++ optionals cfg.package.withPortabled [ "dbus-org.freedesktop.portable1.service" "systemd-portabled.service" Loading
nixos/modules/system/boot/systemd/initrd.nix +6 −1 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ let "systemd-tmpfiles-setup-dev.service" "systemd-tmpfiles-setup.service" "timers.target" "tpm2.target" "umount.target" "systemd-bsod.service" ] ++ cfg.additionalUpstreamUnits; Loading Loading @@ -344,7 +345,8 @@ in { }; enableTpm2 = mkOption { default = true; default = cfg.package.withTpm2Tss; defaultText = "boot.initrd.systemd.package.withTpm2Tss"; type = types.bool; description = '' Whether to enable TPM2 support in the initrd. Loading Loading @@ -460,6 +462,7 @@ in { "${cfg.package}/lib/systemd/systemd-sulogin-shell" "${cfg.package}/lib/systemd/systemd-sysctl" "${cfg.package}/lib/systemd/systemd-bsod" "${cfg.package}/lib/systemd/systemd-sysroot-fstab-check" # generators "${cfg.package}/lib/systemd/system-generators/systemd-debug-generator" Loading @@ -486,6 +489,8 @@ in { # fido2 support "${cfg.package}/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so" "${pkgs.libfido2}/lib/libfido2.so.1" ] ++ optionals cfg.package.withKmod [ "${pkgs.kmod.lib}/lib/libkmod.so.2" ] ++ jobScripts; targets.initrd.aliases = ["default.target"]; Loading