systemd: only set old units directory when available

This commit is contained in:
Robert Helgesson 2024-07-08 22:33:29 +02:00
parent 6b7ce96f34
commit dfaf0ff2e7
No known key found for this signature in database
GPG key ID: 96E745BD17AA17ED

View file

@ -335,7 +335,7 @@ in {
in ''
${pkgs.sd-switch}/bin/sd-switch \
''${DRY_RUN:+--dry-run} $VERBOSE_ARG ${timeoutArg} \
''${oldGenPath:+--old-units $oldGenPath/home-files/.config/systemd/user} \
''${oldUnitsDir:+--old-units $oldUnitsDir} \
--new-units "$newUnitsDir"
'';
};
@ -354,6 +354,13 @@ in {
warnEcho "Attempting to reload services anyway..."
fi
if [[ -v oldGenPath ]]; then
oldUnitsDir="$oldGenPath/home-files/.config/systemd/user"
if [[ ! -e $oldUnitsDir ]]; then
oldUnitsDir=
fi
fi
newUnitsDir="$newGenPath/home-files/.config/systemd/user"
if [[ ! -e $newUnitsDir ]]; then
newUnitsDir=${pkgs.emptyDirectory}
@ -362,7 +369,7 @@ in {
${ensureRuntimeDir} \
${getAttr cfg.startServices cmd}
unset newUnitsDir
unset newUnitsDir oldUnitsDir
else
echo "User systemd daemon not running. Skipping reload."
fi