diff options
author | Jörg Thalheim <Mic92@users.noreply.github.com> | 2018-08-27 11:12:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-27 11:12:42 +0100 |
commit | a6ced42c606dab553922936a4cbf8f94626d62ff (patch) | |
tree | 766f4c242cbc7b1a1549b70448030bcfed8d6d13 | |
parent | 8f07a0b420f94d6aaf5afe2e0650752f2b325173 (diff) | |
parent | fc2bde6d7a362a7f75e19f3e445a9b0f528e1681 (diff) | |
download | nixlib-a6ced42c606dab553922936a4cbf8f94626d62ff.tar nixlib-a6ced42c606dab553922936a4cbf8f94626d62ff.tar.gz nixlib-a6ced42c606dab553922936a4cbf8f94626d62ff.tar.bz2 nixlib-a6ced42c606dab553922936a4cbf8f94626d62ff.tar.lz nixlib-a6ced42c606dab553922936a4cbf8f94626d62ff.tar.xz nixlib-a6ced42c606dab553922936a4cbf8f94626d62ff.tar.zst nixlib-a6ced42c606dab553922936a4cbf8f94626d62ff.zip |
Merge pull request #44990 from Ma27/reload-user-units-during-activation
nixos/switch-to-configuration: reload user units
-rw-r--r-- | nixos/doc/manual/release-notes/rl-1809.xml | 7 | ||||
-rw-r--r-- | nixos/modules/system/activation/switch-to-configuration.pl | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index d190394b9887..db9e13da0654 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -470,6 +470,13 @@ inherit (pkgs.nixos { The module option <option>nix.useSandbox</option> is now defaulted to <literal>true</literal>. </para> </listitem> + <listitem> + <para> + The config activation script of <literal>nixos-rebuild</literal> now + <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemctl.html#Manager%20Lifecycle%20Commands">reloads</link> + all user units for each authenticated user. + </para> + </listitem> </itemizedlist> </section> </section> diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index ecd35767e01d..b3fe6caf62dc 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -412,6 +412,18 @@ system("@systemd@/bin/systemctl", "reset-failed"); # Make systemd reload its units. system("@systemd@/bin/systemctl", "daemon-reload") == 0 or $res = 3; +# Reload user units +open my $listActiveUsers, '-|', '@systemd@/bin/loginctl', 'list-users', '--no-legend'; +while (my $f = <$listActiveUsers>) { + next unless $f =~ /^\s*(?<uid>\d+)\s+(?<user>\S+)/; + my ($uid, $name) = ($+{uid}, $+{user}); + print STDERR "reloading user units for $name...\n"; + + system("su", "-l", $name, "-c", "XDG_RUNTIME_DIR=/run/user/$uid @systemd@/bin/systemctl --user daemon-reload"); +} + +close $listActiveUsers; + # Set the new tmpfiles print STDERR "setting up tmpfiles\n"; system("@systemd@/bin/systemd-tmpfiles", "--create", "--remove", "--exclude-prefix=/dev") == 0 or $res = 3; |