summary refs log tree commit diff
path: root/nixos/modules/services/torrent
diff options
context:
space:
mode:
authorUnai Zalakain <unai@gisa-elkartea.org>2015-09-30 19:17:17 +0100
committerBjørn Forsman <bjorn.forsman@gmail.com>2015-11-22 14:56:54 +0100
commit09bdfd5c35eb38bd1530f92bdc09574e6adedb28 (patch)
tree407c9d51ab9d7e21b751ae6edad81b0ee7b89aa3 /nixos/modules/services/torrent
parent712d9f1e76eb0229f412962e1077c7c4a74ea70e (diff)
downloadnixlib-09bdfd5c35eb38bd1530f92bdc09574e6adedb28.tar
nixlib-09bdfd5c35eb38bd1530f92bdc09574e6adedb28.tar.gz
nixlib-09bdfd5c35eb38bd1530f92bdc09574e6adedb28.tar.bz2
nixlib-09bdfd5c35eb38bd1530f92bdc09574e6adedb28.tar.lz
nixlib-09bdfd5c35eb38bd1530f92bdc09574e6adedb28.tar.xz
nixlib-09bdfd5c35eb38bd1530f92bdc09574e6adedb28.tar.zst
nixlib-09bdfd5c35eb38bd1530f92bdc09574e6adedb28.zip
nixos/transmission: create user-provided download-dir, incomplete-dir
Currently only the hardcoded default directories are created, not the
directories that the user may have provided. Fix that.

[Bjørn: fix small typo (%{settingsDir} => ${settingsDir}) and change
commit message.]
Diffstat (limited to 'nixos/modules/services/torrent')
-rw-r--r--nixos/modules/services/torrent/transmission.nix8
1 files changed, 4 insertions, 4 deletions
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index cf548bc696ca..1c9149224049 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -9,7 +9,7 @@ let
   homeDir = "/var/lib/transmission";
   downloadDir = "${homeDir}/Downloads";
   incompleteDir = "${homeDir}/.incomplete";
-  
+
   settingsDir = "${homeDir}/.config/transmission-daemon";
   settingsFile = pkgs.writeText "settings.json" (builtins.toJSON fullSettings);
 
@@ -21,7 +21,7 @@ let
     else toString ''"${x}"'';
 
   # for users in group "transmission" to have access to torrents
-  fullSettings = cfg.settings // { umask = 2; };
+  fullSettings = { download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings // { umask = 2; };
 in
 {
   options = {
@@ -35,7 +35,7 @@ in
           Transmission daemon can be controlled via the RPC interface using
           transmission-remote or the WebUI (http://localhost:9091/ by default).
 
-          Torrents are downloaded to ${homeDir}/Downloads/ by default and are
+          Torrents are downloaded to ${downloadDir} by default and are
           accessible to users in the "transmission" group.
         '';
       };
@@ -83,7 +83,7 @@ in
       # 1) Only the "transmission" user and group have access to torrents.
       # 2) Optionally update/force specific fields into the configuration file.
       serviceConfig.ExecStartPre = ''
-          ${pkgs.stdenv.shell} -c "chmod 770 ${homeDir} && mkdir -p ${settingsDir} ${downloadDir} ${incompleteDir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json"
+          ${pkgs.stdenv.shell} -c "mkdir -p ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && chmod 770 ${homeDir} ${settingsDir} ${fullSettings.download-dir} ${fullSettings.incomplete-dir} && rm -f ${settingsDir}/settings.json && cp -f ${settingsFile} ${settingsDir}/settings.json"
       '';
       serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}";
       serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";