systemd: remove filename hack
This commit is contained in:
parent
f6900f0689
commit
8d360c5a57
|
@ -237,13 +237,7 @@ in
|
|||
# i.e., if the executable bit of the source is the same we
|
||||
# expect for the target. Otherwise, we copy the file and
|
||||
# set the executable bit to the expected value.
|
||||
#
|
||||
# Note, as a special case we always copy systemd units
|
||||
# because it derives the unit name from the ultimate link
|
||||
# target, which may be a store path with the hash
|
||||
# included.
|
||||
if [[ ($executable == inherit || $isExecutable == $executable) \
|
||||
&& $relTarget != *"/systemd/user/"* ]]; then
|
||||
if [[ $executable == inherit || $isExecutable == $executable ]]; then
|
||||
ln -s "$source" "$target"
|
||||
else
|
||||
cp "$source" "$target"
|
||||
|
|
|
@ -24,16 +24,21 @@ let
|
|||
|
||||
buildService = style: name: serviceCfg:
|
||||
let
|
||||
source = pkgs.writeText "${name}.${style}" (toSystemdIni serviceCfg);
|
||||
filename = "${name}.${style}";
|
||||
|
||||
# Needed because systemd derives unit names from the ultimate
|
||||
# link target.
|
||||
source = pkgs.writeTextDir filename (toSystemdIni serviceCfg)
|
||||
+ "/" + filename;
|
||||
|
||||
wantedBy = target:
|
||||
{
|
||||
name = "systemd/user/${target}.wants/${name}.${style}";
|
||||
name = "systemd/user/${target}.wants/${filename}";
|
||||
value = { inherit source; };
|
||||
};
|
||||
in
|
||||
singleton {
|
||||
name = "systemd/user/${name}.${style}";
|
||||
name = "systemd/user/${filename}";
|
||||
value = { inherit source; };
|
||||
}
|
||||
++
|
||||
|
|
Loading…
Reference in a new issue