diff --git a/modules/nixos/services/aria/default.nix b/modules/nixos/services/aria/default.nix index 4946663..227cbac 100644 --- a/modules/nixos/services/aria/default.nix +++ b/modules/nixos/services/aria/default.nix @@ -69,7 +69,10 @@ in }; }; - # FIXME: persistence? + my.system.persist.directories = [ + cfg.downloadDir + config.users.users.aria2.home + ]; # NOTE: unfortunately aria2 does not log connection failures for fail2ban }; diff --git a/modules/nixos/services/audiobookshelf/default.nix b/modules/nixos/services/audiobookshelf/default.nix index 9985a26..5e79990 100644 --- a/modules/nixos/services/audiobookshelf/default.nix +++ b/modules/nixos/services/audiobookshelf/default.nix @@ -34,7 +34,9 @@ in }; }; - # FIXME: persistence? + my.system.persist.directories = [ + "/var/lib/${config.services.audiobookshelf.dataDir}" + ]; services.fail2ban.jails = { audiobookshelf = '' diff --git a/modules/nixos/services/fail2ban/default.nix b/modules/nixos/services/fail2ban/default.nix index efb07c9..a40e03e 100644 --- a/modules/nixos/services/fail2ban/default.nix +++ b/modules/nixos/services/fail2ban/default.nix @@ -34,6 +34,8 @@ in }; }; - # FIXME: persistence? + my.system.persist.directories = [ + "/var/lib/${config.systemd.services.fail2ban.serviceConfig.StateDirectory}" + ]; }; } diff --git a/modules/nixos/services/flood/default.nix b/modules/nixos/services/flood/default.nix index 23154ed..b4fecef 100644 --- a/modules/nixos/services/flood/default.nix +++ b/modules/nixos/services/flood/default.nix @@ -28,7 +28,9 @@ in }; }; - # FIXME: persistence? + my.system.persist.directories = [ + "/var/lib/${config.systemd.services.flood.serviceConfig.StateDirectory}" + ]; # NOTE: unfortunately flood does not log connection failures for fail2ban }; diff --git a/modules/nixos/services/grocy/default.nix b/modules/nixos/services/grocy/default.nix index 67de377..57295f1 100644 --- a/modules/nixos/services/grocy/default.nix +++ b/modules/nixos/services/grocy/default.nix @@ -37,8 +37,15 @@ in useACMEHost = config.networking.domain; }; - # FIXME: backup - # FIXME: persistence + my.services.backup = { + paths = [ + config.services.grocy.dataDir + ]; + }; + + my.system.persist.directories = [ + config.services.grocy.dataDir + ]; # NOTE: unfortunately grocy does not log connection failures for fail2ban }; diff --git a/modules/nixos/services/komga/default.nix b/modules/nixos/services/komga/default.nix index 9412573..15e4fbb 100644 --- a/modules/nixos/services/komga/default.nix +++ b/modules/nixos/services/komga/default.nix @@ -36,7 +36,9 @@ in }; }; - # FIXME: persistence? + my.system.persist.directories = [ + config.services.komga.stateDir + ]; services.fail2ban.jails = { komga = '' diff --git a/modules/nixos/services/mealie/default.nix b/modules/nixos/services/mealie/default.nix index 4eb6977..7d3fd96 100644 --- a/modules/nixos/services/mealie/default.nix +++ b/modules/nixos/services/mealie/default.nix @@ -72,8 +72,15 @@ in }; }; - # FIXME: backup - # FIXME: persistence + my.services.backup = { + paths = [ + "/var/lib/${config.systemd.services.mealie.serviceConfig.StateDirectory}" + ]; + }; + + my.system.persist.directories = [ + "/var/lib/${config.systemd.services.mealie.serviceConfig.StateDirectory}" + ]; services.fail2ban.jails = { mealie = '' diff --git a/modules/nixos/services/miniflux/default.nix b/modules/nixos/services/miniflux/default.nix index 7bcfe30..400ae00 100644 --- a/modules/nixos/services/miniflux/default.nix +++ b/modules/nixos/services/miniflux/default.nix @@ -49,9 +49,6 @@ in }; }; - # FIXME: backup - # FIXME: persistence - services.fail2ban.jails = { miniflux = '' enabled = true diff --git a/modules/nixos/services/pdf-edit/default.nix b/modules/nixos/services/pdf-edit/default.nix index 73527d9..1eb900d 100644 --- a/modules/nixos/services/pdf-edit/default.nix +++ b/modules/nixos/services/pdf-edit/default.nix @@ -54,7 +54,9 @@ in }; }; - # FIXME: persistence? + my.system.persist.directories = [ + "/var/lib/${systemd.services.stirling-pdf.serviceConfig.StateDirectory}" + ]; services.fail2ban.jails = { stirling-pdf = '' diff --git a/modules/nixos/services/pyload/default.nix b/modules/nixos/services/pyload/default.nix index 1167509..a8ec3b2 100644 --- a/modules/nixos/services/pyload/default.nix +++ b/modules/nixos/services/pyload/default.nix @@ -53,8 +53,10 @@ in }; }; - # FIXME: backup - # FIXME: persistence + my.system.persist.directories = [ + cfg.downloadDirectory + "/var/lib/${config.systemd.services.pyload.StateDirectory}" + ]; services.fail2ban.jails = { pyload = '' diff --git a/modules/nixos/services/servarr/default.nix b/modules/nixos/services/servarr/default.nix index 9cb2a59..3330b0f 100644 --- a/modules/nixos/services/servarr/default.nix +++ b/modules/nixos/services/servarr/default.nix @@ -20,10 +20,15 @@ let group = "media"; }; - # Thankfully those old style services all define users with homes - my.system.persist.directories = [ - config.users.user.${service}.home - ]; + my.system.persist.directories = + let + # Bazarr breaks the mold unfortunately + dataDir = + if service != "bazarr" + then config.services.${service}.dataDir + else config.users.user.${service}.home; + in + [ dataDir ]; }; mkRedirection = service: { diff --git a/modules/nixos/services/tandoor-recipes/default.nix b/modules/nixos/services/tandoor-recipes/default.nix index 6282769..ea45e74 100644 --- a/modules/nixos/services/tandoor-recipes/default.nix +++ b/modules/nixos/services/tandoor-recipes/default.nix @@ -83,8 +83,18 @@ in }; }; - # FIXME: backup - # FIXME: persistence + my.services.backup = { + paths = [ + "/var/lib/${config.systemd.services.tandoor-recipes.StateDirectory}" + config.systemd.services.tandoor-recipes.environment.MEDIA_ROOT + ]; + }; + + my.system.persist.directories = [ + "/var/lib/${config.systemd.services.tandoor-recipes.StateDirectory}" + config.systemd.services.tandoor-recipes.environment.MEDIA_ROOT + ]; + # NOTE: unfortunately tandoor-recipes does not log connection failures for fail2ban }; diff --git a/modules/nixos/services/vikunja/default.nix b/modules/nixos/services/vikunja/default.nix index 575ddab..d902449 100644 --- a/modules/nixos/services/vikunja/default.nix +++ b/modules/nixos/services/vikunja/default.nix @@ -100,7 +100,9 @@ in ]; }; - # FIXME: persistence + my.system.persist.directories = [ + config.services.vikunja.settings.files.basepath + ]; # NOTE: unfortunately vikunja does not log connection failures for fail2ban };