summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorJoachim F <joachifm@users.noreply.github.com>2018-11-02 12:02:51 +0000
committerGitHub <noreply@github.com>2018-11-02 12:02:51 +0000
commit2dc0fc6516141739d6fb7bcf621d871645906ee9 (patch)
treece49da6a275d57f1d165a008fe18ac1ef9730c8d /nixos
parent7bd88054088149bebe4d2a63b182fe33d42556e1 (diff)
parent16f67637ba6a27cb61e2f334afc6050114073369 (diff)
downloadnixlib-2dc0fc6516141739d6fb7bcf621d871645906ee9.tar
nixlib-2dc0fc6516141739d6fb7bcf621d871645906ee9.tar.gz
nixlib-2dc0fc6516141739d6fb7bcf621d871645906ee9.tar.bz2
nixlib-2dc0fc6516141739d6fb7bcf621d871645906ee9.tar.lz
nixlib-2dc0fc6516141739d6fb7bcf621d871645906ee9.tar.xz
nixlib-2dc0fc6516141739d6fb7bcf621d871645906ee9.tar.zst
nixlib-2dc0fc6516141739d6fb7bcf621d871645906ee9.zip
Merge pull request #47526 from rnhmjoj/syncthing
nixos/syncthing: move configuration to condigDir
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/release-notes/rl-1903.xml10
-rw-r--r--nixos/modules/services/networking/syncthing.nix14
2 files changed, 23 insertions, 1 deletions
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml
index 1d9b6ecc0e2e..6121d32346cb 100644
--- a/nixos/doc/manual/release-notes/rl-1903.xml
+++ b/nixos/doc/manual/release-notes/rl-1903.xml
@@ -97,6 +97,16 @@
        start org.nixos.nix-daemon</command>.
       </para>
      </listitem>
+     <listitem>
+      <para>
+        The Syncthing state and configuration data has been moved from
+        <varname>services.syncthing.dataDir</varname> to the newly defined
+        <varname>services.syncthing.configDir</varname>, which default to
+        <literal>/var/lib/syncthing/.config/syncthing</literal>.
+        This change makes possible to share synced directories using ACLs
+        without Syncthing resetting the permission on every start.
+      </para>
+     </listitem>
     </itemizedlist>
    </listitem>
    <listitem>
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index fd31b2a67687..b2ef1885a955 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -63,8 +63,20 @@ in {
         type = types.path;
         default = "/var/lib/syncthing";
         description = ''
+          Path where synced directories will exist.
+        '';
+      };
+
+      configDir = mkOption {
+        type = types.path;
+        description = ''
           Path where the settings and keys will exist.
         '';
+        default =
+          let
+            nixos = config.system.stateVersion;
+            cond  = versionAtLeast nixos "19.03";
+          in cfg.dataDir + (optionalString cond "/.config/syncthing");
       };
 
       openDefaultPorts = mkOption {
@@ -144,7 +156,7 @@ in {
             ${cfg.package}/bin/syncthing \
               -no-browser \
               -gui-address=${cfg.guiAddress} \
-              -home=${cfg.dataDir}
+              -home=${cfg.configDir}
           '';
         };
       };