about summary refs log tree commit diff
diff options
context:
space:
mode:
authornikstur <nikstur@outlook.com>2023-11-25 21:31:09 +0100
committernikstur <nikstur@outlook.com>2023-11-25 21:39:10 +0100
commitfa41730b86df51d45465ef36d5dda8a5a898fbb5 (patch)
treef3659c23336264991a444757a56c6faea2d70e54
parentc1681fe35cdd912d2de0dfd6e78886554538e434 (diff)
downloadnixlib-fa41730b86df51d45465ef36d5dda8a5a898fbb5.tar
nixlib-fa41730b86df51d45465ef36d5dda8a5a898fbb5.tar.gz
nixlib-fa41730b86df51d45465ef36d5dda8a5a898fbb5.tar.bz2
nixlib-fa41730b86df51d45465ef36d5dda8a5a898fbb5.tar.lz
nixlib-fa41730b86df51d45465ef36d5dda8a5a898fbb5.tar.xz
nixlib-fa41730b86df51d45465ef36d5dda8a5a898fbb5.tar.zst
nixlib-fa41730b86df51d45465ef36d5dda8a5a898fbb5.zip
nixos/switch-to-configuration: remove explicit tmpfiles invocation
-rw-r--r--nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md1
-rwxr-xr-xnixos/modules/system/activation/switch-to-configuration.pl4
-rw-r--r--nixos/modules/system/boot/systemd/tmpfiles.nix6
3 files changed, 6 insertions, 5 deletions
diff --git a/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md b/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md
index ccadb819e061..fa921bbc7c5e 100644
--- a/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md
+++ b/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md
@@ -37,7 +37,6 @@ of actions is always the same:
 - Forget about the failed state of units (`systemctl reset-failed`)
 - Reload systemd (`systemctl daemon-reload`)
 - Reload systemd user instances (`systemctl --user daemon-reload`)
-- Set up tmpfiles (`systemd-tmpfiles --create`)
 - Reload units (`systemctl reload`)
 - Restart units (`systemctl restart`)
 - Start units (`systemctl start`)
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index e2f66a287bc4..b840c324e72b 100755
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -889,10 +889,6 @@ while (my $f = <$list_active_users>) {
 
 close($list_active_users) || die("Unable to close the file handle to loginctl");
 
-# Set the new tmpfiles
-print STDERR "setting up tmpfiles\n";
-system("$new_systemd/bin/systemd-tmpfiles", "--create", "--remove", "--exclude-prefix=/dev") == 0 or $res = 3;
-
 # Before reloading we need to ensure that the units are still active. They may have been
 # deactivated because one of their requirements got stopped. If they are inactive
 # but should have been reloaded, the user probably expects them to be started.
diff --git a/nixos/modules/system/boot/systemd/tmpfiles.nix b/nixos/modules/system/boot/systemd/tmpfiles.nix
index 183e2033ecb0..99928ab733d1 100644
--- a/nixos/modules/system/boot/systemd/tmpfiles.nix
+++ b/nixos/modules/system/boot/systemd/tmpfiles.nix
@@ -150,6 +150,12 @@ in
       "systemd-tmpfiles-setup.service"
     ];
 
+    # Allow systemd-tmpfiles to be restarted by switch-to-configuration.
+    systemd.services."systemd-tmpfiles-setup" = {
+      unitConfig.RefuseManualStop = "no";
+      restartTriggers = [ "${config.environment.etc."tmpfiles.d".source}" ];
+    };
+
     environment.etc = {
       "tmpfiles.d".source = (pkgs.symlinkJoin {
         name = "tmpfiles.d";