summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Wood <david@davidtw.co>2019-07-01 17:14:42 +0100
committerDavid Wood <david@davidtw.co>2019-07-02 22:26:38 +0100
commit16c394fe0f46935a4065a5a1ed43ef1cabd5840a (patch)
tree3669200c3f2b0b8979bdbf0b15fe6912c697cf8b
parent9837facf21113c5c48ed80dab7d5ce1e387ee2f6 (diff)
downloadnixpkgs-16c394fe0f46935a4065a5a1ed43ef1cabd5840a.tar
nixpkgs-16c394fe0f46935a4065a5a1ed43ef1cabd5840a.tar.gz
nixpkgs-16c394fe0f46935a4065a5a1ed43ef1cabd5840a.tar.bz2
nixpkgs-16c394fe0f46935a4065a5a1ed43ef1cabd5840a.tar.lz
nixpkgs-16c394fe0f46935a4065a5a1ed43ef1cabd5840a.tar.xz
nixpkgs-16c394fe0f46935a4065a5a1ed43ef1cabd5840a.tar.zst
nixpkgs-16c394fe0f46935a4065a5a1ed43ef1cabd5840a.zip
nixos/deluge: Add extractor dependencies.
This commit adds the "Extractor" plugin dependencies to the PATH of the
`deluged` service.
-rw-r--r--nixos/modules/services/torrent/deluge.nix15
1 files changed, 14 insertions, 1 deletions
diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix
index f2e0c4a89dd..48ec4d692e2 100644
--- a/nixos/modules/services/torrent/deluge.nix
+++ b/nixos/modules/services/torrent/deluge.nix
@@ -134,6 +134,16 @@ in {
             Group under which deluge runs.
           '';
         };
+
+        extraPackages = mkOption {
+          type = types.listOf types.package;
+          default = [];
+          description = ''
+            Extra packages available at runtime to enable Deluge's plugins. For example,
+            extraction utilities are required for the built-in "Extractor" plugin.
+            This always contains unzip, gnutar, xz, p7zip and bzip2.
+          '';
+        };
       };
 
       deluge.web = {
@@ -160,6 +170,9 @@ in {
 
   config = mkIf cfg.enable {
 
+    # Provide a default set of `extraPackages`.
+    services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ];
+
     systemd.tmpfiles.rules = [ "d '${configDir}' 0770 ${cfg.user} ${cfg.group}" ]
     ++ optional (cfg.config ? "download_location")
       "d '${cfg.config.download_location}' 0770 ${cfg.user} ${cfg.group}"
@@ -172,7 +185,7 @@ in {
       after = [ "network.target" ];
       description = "Deluge BitTorrent Daemon";
       wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.deluge ];
+      path = [ pkgs.deluge ] ++ cfg.extraPackages;
       serviceConfig = {
         ExecStart = ''
           ${pkgs.deluge}/bin/deluged \