nixos: services: servarr: fix 'enableAll' logic

I renamed the option and refactored how it worked to make it more
explicit that it enables the entire suite by default, with explicit
opt-out of individual components (or fine-grained opt-in as an
alternative).
This commit is contained in:
Bruno BELANYI 2025-03-31 11:00:10 +00:00
parent b65380e325
commit 263b6c9a80

View file

@ -19,6 +19,8 @@ let
enable = true; enable = true;
group = "media"; group = "media";
}; };
# Set-up media group
users.groups.media = { };
}; };
mkRedirection = service: { mkRedirection = service: {
@ -54,34 +56,30 @@ let
in in
{ {
options.my.services.servarr = { options.my.services.servarr = {
enable = lib.mkEnableOption "Media automation"; enableAll = lib.mkEnableOption "media automation suite";
bazarr = { bazarr = {
enable = lib.my.mkDisableOption "Bazarr"; enable = lib.mkEnableOption "Bazarr" // { default = cfg.enableAll; };;
}; };
lidarr = { lidarr = {
enable = lib.my.mkDisableOption "Lidarr"; enable = lib.mkEnableOption "Lidarr" // { default = cfg.enableAll; };
}; };
radarr = { radarr = {
enable = lib.my.mkDisableOption "Radarr"; enable = lib.mkEnableOption "Radarr" // { default = cfg.enableAll; };
}; };
readarr = { readarr = {
enable = lib.my.mkDisableOption "Readarr"; enable = lib.mkEnableOption "Readarr" // { default = cfg.enableAll; };
}; };
sonarr = { sonarr = {
enable = lib.my.mkDisableOption "Sonarr"; enable = lib.mkEnableOption "Sonarr" // { default = cfg.enableAll; };
}; };
}; };
config = lib.mkIf cfg.enable (lib.mkMerge [ config = (lib.mkMerge [
{
# Set-up media group
users.groups.media = { };
}
# Bazarr does not log authentication failures... # Bazarr does not log authentication failures...
(mkFullConfig "bazarr") (mkFullConfig "bazarr")
# Lidarr for music # Lidarr for music