diff --git a/modules/programs/aria2.nix b/modules/programs/aria2.nix index 6670bac1..c7f567be 100644 --- a/modules/programs/aria2.nix +++ b/modules/programs/aria2.nix @@ -17,6 +17,14 @@ in { meta.maintainers = [ lib.maintainers.justinlovinger ]; + imports = [ + (lib.mkRemovedOptionModule [ + "programs" + "aria2" + "extraConfig" + ] "This option has been removed. Please use 'programs.aria2.settings' instead.") + ]; + options.programs.aria2 = { enable = lib.mkEnableOption "aria2"; @@ -48,23 +56,13 @@ in } ''; }; - - extraConfig = lib.mkOption { - type = lib.types.lines; - default = ""; - description = '' - Extra lines added to {file}`aria2.conf` file. - ''; - }; }; config = lib.mkIf cfg.enable { home.packages = lib.mkIf (cfg.package != null) [ cfg.package ]; - xdg.configFile."aria2/aria2.conf".text = lib.concatStringsSep "\n" ( - [ ] - ++ lib.mapAttrsToList formatLine cfg.settings - ++ lib.optional (cfg.extraConfig != "") cfg.extraConfig - ); + xdg.configFile."aria2/aria2.conf" = lib.mkIf (cfg.settings != { }){ + text = (lib.concatStringsSep "\n" (lib.mapAttrsToList formatLine cfg.settings)) + "\n"; + }; }; } diff --git a/tests/modules/programs/aria2/default.nix b/tests/modules/programs/aria2/default.nix index 2964841d..678f9477 100644 --- a/tests/modules/programs/aria2/default.nix +++ b/tests/modules/programs/aria2/default.nix @@ -1 +1,4 @@ -{ aria2-settings = ./settings.nix; } +{ + aria2-disabled = ./disabled.nix; + aria2-settings = ./settings.nix; +} diff --git a/tests/modules/programs/aria2/disabled.nix b/tests/modules/programs/aria2/disabled.nix new file mode 100644 index 00000000..978d9de1 --- /dev/null +++ b/tests/modules/programs/aria2/disabled.nix @@ -0,0 +1,7 @@ +{ + aria2.enable = false; + + nmt.script = '' + assertPathNotExists "home-files/.config/aria2" + ''; +} diff --git a/tests/modules/programs/aria2/settings.nix b/tests/modules/programs/aria2/settings.nix index a91548f2..21875c13 100644 --- a/tests/modules/programs/aria2/settings.nix +++ b/tests/modules/programs/aria2/settings.nix @@ -9,10 +9,6 @@ max-upload-limit = "50K"; ftp-pasv = true; }; - - extraConfig = '' - # Extra aria2 configuration. - ''; }; nmt.script = '' @@ -24,7 +20,6 @@ listen-port=60000 max-upload-limit=50K seed-ratio=1.000000 - # Extra aria2 configuration. ''} ''; }