aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/systemd.nix10
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/systemd.nix b/modules/systemd.nix
index ed630b3618a..f7325b41f1a 100644
--- a/modules/systemd.nix
+++ b/modules/systemd.nix
@@ -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:
{