summary refs log tree commit diff
path: root/nixos/modules/services/networking/syncthing.nix
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2014-04-04 10:46:19 +0200
committerDomen Kožar <domen@dev.si>2014-04-04 10:46:30 +0200
commitf530ead0ba741bc588fd679297364885a3f421a9 (patch)
tree622240c61b2f5ce2355e6e1dc458754a44364fa8 /nixos/modules/services/networking/syncthing.nix
parent7df1ce5088f3404b985aac4bb1814f98463a43a0 (diff)
downloadnixpkgs-f530ead0ba741bc588fd679297364885a3f421a9.tar
nixpkgs-f530ead0ba741bc588fd679297364885a3f421a9.tar.gz
nixpkgs-f530ead0ba741bc588fd679297364885a3f421a9.tar.bz2
nixpkgs-f530ead0ba741bc588fd679297364885a3f421a9.tar.lz
nixpkgs-f530ead0ba741bc588fd679297364885a3f421a9.tar.xz
nixpkgs-f530ead0ba741bc588fd679297364885a3f421a9.tar.zst
nixpkgs-f530ead0ba741bc588fd679297364885a3f421a9.zip
syncthing: add preStart script to create dataDir
Diffstat (limited to 'nixos/modules/services/networking/syncthing.nix')
-rw-r--r--nixos/modules/services/networking/syncthing.nix13
1 files changed, 9 insertions, 4 deletions
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 345693fec76..8ca16730a94 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -49,7 +49,7 @@ in
 
   ###### implementation
 
-  config = mkIf config.services.syncthing.enable {
+  config = mkIf cfg.enable {
 
     systemd.services.syncthing =
       {
@@ -57,12 +57,17 @@ in
         after = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
         environment.STNORESTART = "placeholder";  # do not self-restart
-        environment.HOME = "${config.services.syncthing.dataDir}";
+        environment.HOME = "${cfg.dataDir}";
         serviceConfig = {
-          User = "${config.services.syncthing.user}";
-          ExecStart = "${pkgs.syncthing}/bin/syncthing -home=${config.services.syncthing.dataDir}/.syncthing";
+          User = "${cfg.user}";
+          PermissionsStartOnly = true;
           Restart = "always";
+          ExecStart = "${pkgs.syncthing}/bin/syncthing -home=${cfg.dataDir}/.syncthing";
         };
+        preStart = ''
+          mkdir -p ${cfg.dataDir}
+          chown ${cfg.user} ${cfg.dataDir}
+        '';
 
       };