1
0
mirror of https://github.com/nix-community/home-manager synced 2024-06-26 00:18:30 +02:00

systemd: sanitize unit derivation names

To allow a few special characters such as "@".

This is taken from

    c414e5bd08/nixos/modules/system/boot/systemd-lib.nix (L14)
This commit is contained in:
Douglas Wilson 2019-02-19 07:10:04 +00:00 committed by Robert Helgesson
parent 93f5fcae1e
commit 74811679b7
No known key found for this signature in database
GPG Key ID: 36BDAA14C2797E89

View File

@ -27,11 +27,17 @@ let
buildService = style: name: serviceCfg:
let
filename = "${name}.${style}";
pathSafeName = lib.replaceChars ["@" ":" "\\" "[" "]"]
["-" "-" "-" "" "" ]
filename;
# Needed because systemd derives unit names from the ultimate
# link target.
source = pkgs.writeTextDir filename (toSystemdIni serviceCfg)
+ "/" + filename;
source = pkgs.writeTextFile {
name = pathSafeName;
text = toSystemdIni serviceCfg;
destination = "/${filename}";
} + "/${filename}";
wantedBy = target:
{