From 3acd59d93807466c87bc4db609a84a17d0dc6fc2 Mon Sep 17 00:00:00 2001 From: blake Date: Sun, 12 Oct 2025 20:00:31 -0500 Subject: [PATCH] i fixed it --- flake.nix | 2 +- hosts/snowbelle/configuration.nix | 1 - .../homelab/services/arr/suwayomi/default.nix | 100 ------------------ .../services/audiobookshelf/default.nix | 4 +- modules/homelab/services/default.nix | 1 - modules/system/backups.nix | 6 +- 6 files changed, 7 insertions(+), 107 deletions(-) delete mode 100644 modules/homelab/services/arr/suwayomi/default.nix diff --git a/flake.nix b/flake.nix index 6f57b01..745b7e9 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ # flake for blakes nixos config # define new devices in outputs -# generation: 375, timestamp: 2025-10-12 19:19:04 +# generation: 378, timestamp: 2025-10-12 19:57:35 { description = "blakes nix config"; inputs = { diff --git a/hosts/snowbelle/configuration.nix b/hosts/snowbelle/configuration.nix index dfd3512..b8d0397 100644 --- a/hosts/snowbelle/configuration.nix +++ b/hosts/snowbelle/configuration.nix @@ -36,7 +36,6 @@ in jellyfin.enable = true; audiobookshelf.enable = true; yacreader.enable = true; - suwayomi-server.enable = true; vaultwarden.enable = true; gitea.enable = true; glance.enable = true; diff --git a/modules/homelab/services/arr/suwayomi/default.nix b/modules/homelab/services/arr/suwayomi/default.nix deleted file mode 100644 index bde0ddc..0000000 --- a/modules/homelab/services/arr/suwayomi/default.nix +++ /dev/null @@ -1,100 +0,0 @@ -{ pkgs, config, lib, ... }: - -let - service = "suwayomi-server"; - cfg = config.modules.services.${service}; - sec = config.sops.secrets; - homelab = config.modules.homelab; -in -{ - options.modules.services.${service} = { - enable = lib.mkEnableOption "enables ${service}"; - - # set port options - port = lib.mkOption { - type = lib.types.int; - default = 7108; - description = "set port for ${service} (default: ${toString cfg.port}"; - }; - url = lib.mkOption { - type = lib.types.str; - default = "syi.${homelab.base_domain}"; - description = "set domain for ${service}"; - }; - data_dir = lib.mkOption { - type = lib.types.str; - default = "/var/lib/${service}"; - description = "set data directory for ${service}"; - }; - ids = lib.mkOption { - type = lib.types.int; - default = cfg.port; - description = "set uid and pid of ${service} user (matches port by default)"; - }; - backup = lib.mkOption { - type = lib.types.bool; - default = true; - description = "enable backups for ${service}"; - }; - }; - - config = lib.mkIf cfg.enable { - - # declare ${service} group - users.groups.${service} = { gid = lib.mkForce cfg.ids; }; - - # declare ${service} user - users.users.${service} = { - description = "${service} server user"; - uid = lib.mkForce cfg.ids; - isSystemUser = true; - home = cfg.data_dir; - createHome = true; - group = "${service}"; - extraGroups = [ "media" ]; - }; - - # enable the ${service} service - services.${service} = { - enable = true; - openFirewall = true; - user = service; - group = service; - settings = { - server = { - port = cfg.port; - downloadAsCbz = true; - localSourcePath = cfg.data_dir; - }; - }; - }; - - # override umask to make permissions work out - systemd.services.${service}.serviceConfig = { - UMask = lib.mkForce "0007"; - }; - -# # open firewall -# networking.firewall.allowedTCPPorts = [ cfg.port ]; - - # add to glance local service - modules.services.glance.links.mediastack = [{ - title = service; - url = "https://${cfg.url}"; - error-url = "http://${homelab.host_ip}:${toString cfg.port}"; - check-url = "http://${homelab.host_ip}:${toString cfg.port}"; - icon = "di:${service}"; }]; - -# sops.secrets = { -# "${service}_" = { -# owner = "${service}"; -# group = "${service}"; -# }; -# }; - - # add to backups - modules.system.backups.baks = { - ${service} = { paths = [ cfg.data_dir ]; }; - }; - }; -} diff --git a/modules/homelab/services/audiobookshelf/default.nix b/modules/homelab/services/audiobookshelf/default.nix index 0c01da1..ef9bc20 100644 --- a/modules/homelab/services/audiobookshelf/default.nix +++ b/modules/homelab/services/audiobookshelf/default.nix @@ -79,8 +79,10 @@ in services.caddy.virtualHosts."${cfg.url}" = { serverAliases = [ "abs.${homelab.public_domain}" ]; extraConfig = '' - tls ${sec."ssl_blakedheld_crt".path} ${sec."ssl_blakedheld_key".path} +# tls ${sec."ssl_blakedheld_crt".path} ${sec."ssl_blakedheld_key".path} reverse_proxy http://127.0.0.1:${toString cfg.port} + stream_timeout 24h + stream_close_delay 5m ''; }; diff --git a/modules/homelab/services/default.nix b/modules/homelab/services/default.nix index 8926a54..d4c6caa 100644 --- a/modules/homelab/services/default.nix +++ b/modules/homelab/services/default.nix @@ -10,7 +10,6 @@ ./gitea ./home/homeassistant ./immich - ./arr/suwayomi ./arr/bazarr ./arr/prowlarr ./arr/radarr diff --git a/modules/system/backups.nix b/modules/system/backups.nix index abade99..2364bd3 100644 --- a/modules/system/backups.nix +++ b/modules/system/backups.nix @@ -38,7 +38,7 @@ in description = "borg repository passphrase file"; }; mode = lib.mkOption { - type = lib.types.string; + type = lib.types.str; default = "split"; # "all" description = "choice between creating one archive of all paths or one archive per service"; }; @@ -88,7 +88,7 @@ in ${lib.concatStringsSep " " bak_paths.paths} echo "pruning old backups for ${bak_name}..." borg prune -v --list "$BORG_REPO" \ - --prefix "${bak_name}-" \ + --glob-archives "*-${bak_name}" \ --keep-daily=7 \ --keep-weekly=52 \ --keep-monthly=-1 @@ -115,7 +115,7 @@ in echo "pruning old backups for ${toString config.networking.hostName}..." borg prune -v --list "$BORG_REPO" \ - --prefix "${toString config.networking.hostName}" \ + --glob-archives "*-${toString config.networking.hostName}" \ --keep-daily=7 \ --keep-weekly=52 \ --keep-monthly=-1