From e31bdb4b01067261896d624bbc74b2cbae8d27f6 Mon Sep 17 00:00:00 2001 From: C4 Patino Date: Fri, 15 May 2026 20:20:45 -0500 Subject: [PATCH] refactor: update all network services to pull the new configuration format --- .../nixos/services/apps/forgejo/default.nix | 21 ++++++------- .../nixos/services/apps/glance/default.nix | 19 ++++++------ modules/nixos/services/apps/glance/layout.nix | 14 +++++---- .../nixos/services/apps/grafana/default.nix | 19 ++++++------ modules/nixos/services/apps/ntfy/default.nix | 17 +++++----- .../services/apps/rustypaste/default.nix | 31 +++++++++++-------- .../services/apps/servarr/autobrr/default.nix | 16 +++++----- .../services/apps/servarr/bazarr/default.nix | 16 +++++----- .../apps/servarr/jellyfin/default.nix | 16 +++++----- .../apps/servarr/jellyseerr/default.nix | 16 +++++----- .../services/apps/servarr/lidarr/default.nix | 16 +++++----- .../services/apps/servarr/ombi/default.nix | 16 +++++----- .../apps/servarr/prowlarr/default.nix | 16 +++++----- .../services/apps/servarr/radarr/default.nix | 16 +++++----- .../services/apps/servarr/readarr/default.nix | 16 +++++----- .../services/apps/servarr/sonarr/default.nix | 16 +++++----- .../services/apps/uptime-kuma/default.nix | 19 ++++++------ .../services/apps/vaultwarden/default.nix | 19 ++++++------ .../nixos/services/ci/woodpecker/default.nix | 27 ++++++++++------ .../services/networking/blocky/default.nix | 4 +-- .../services/networking/miasma/default.nix | 4 +-- .../services/networking/unbound/default.nix | 4 +-- systems/aarch64-linux/chibi/default.nix | 8 ----- systems/x86_64-linux/arisu/default.nix | 16 ++-------- systems/x86_64-linux/shiori/default.nix | 17 ++-------- 25 files changed, 176 insertions(+), 223 deletions(-) diff --git a/modules/nixos/services/apps/forgejo/default.nix b/modules/nixos/services/apps/forgejo/default.nix index 0adb8f5..8c716c2 100644 --- a/modules/nixos/services/apps/forgejo/default.nix +++ b/modules/nixos/services/apps/forgejo/default.nix @@ -6,27 +6,24 @@ pkgs, ... }: let - inherit (lib) mkIf mkEnableOption filterAttrs attrNames head mkForce; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace resolveHostIP readJsonOrEmpty getIn; + inherit (lib) mkIf filterAttrs attrNames head mkForce; + inherit (lib.${namespace}) getAttrByNamespace resolveHostIP readJsonOrEmpty getIn hostHasService flattenHostServices getServicePort; inherit (config.networking) hostName; - base = "${namespace}.services.apps.forgejo"; - cfg = getAttrByNamespace config base; - pgCfg = getAttrByNamespace config "${namespace}.services.storage.postgresql"; - networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = flattenHostServices networkCfg.network-services; + + pgCfg = getAttrByNamespace config "${namespace}.services.storage.postgresql"; dbHost = pgCfg.databases |> filterAttrs (host: dbs: lib.elem "forgejo" dbs) |> attrNames |> head; - port = 5300; + isEnabled = hostHasService networkCfg.network-services hostName "git"; + port = getServicePort networkServices "git" 5300; in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "forgejo"; - }; - - config = mkIf cfg.enable { + config = mkIf isEnabled { services.forgejo = { enable = true; package = pkgs.forgejo; diff --git a/modules/nixos/services/apps/glance/default.nix b/modules/nixos/services/apps/glance/default.nix index e9cd71b..a607dda 100644 --- a/modules/nixos/services/apps/glance/default.nix +++ b/modules/nixos/services/apps/glance/default.nix @@ -5,22 +5,21 @@ namespace, ... } @ args: let - inherit (lib) mkIf mkEnableOption; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.glance"; - cfg = getAttrByNamespace config base; + inherit (lib) mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService flattenHostServices getServicePort; + inherit (config.networking) hostName; - port = 5150; + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = flattenHostServices networkCfg.network-services; + + isEnabled = hostHasService networkCfg.network-services hostName "dash"; + port = getServicePort networkServices "dash" 5150; in { imports = [ (import ./layout.nix args) ]; - options = mkOptionsWithNamespace base { - enable = mkEnableOption "glance"; - }; - - config = mkIf cfg.enable { + config = mkIf isEnabled { services.glance = { enable = true; openFirewall = true; diff --git a/modules/nixos/services/apps/glance/layout.nix b/modules/nixos/services/apps/glance/layout.nix index 2e55796..d8b4532 100755 --- a/modules/nixos/services/apps/glance/layout.nix +++ b/modules/nixos/services/apps/glance/layout.nix @@ -4,13 +4,15 @@ lib, namespace, ... -}: -with lib; -with lib.${namespace}; let - base = "${namespace}.services.apps.glance"; - cfg = getAttrByNamespace config base; +}: let + inherit (lib) mkIf; + inherit (lib.${namespace}) getAttrByNamespace getIn readJsonOrEmpty hostHasService; + inherit (config.networking) hostName; + + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "dash"; in { - config = mkIf cfg.enable { + config = mkIf isEnabled { services.glance.settings = { branding = { app-name = "dash"; diff --git a/modules/nixos/services/apps/grafana/default.nix b/modules/nixos/services/apps/grafana/default.nix index fd42d98..c17d449 100644 --- a/modules/nixos/services/apps/grafana/default.nix +++ b/modules/nixos/services/apps/grafana/default.nix @@ -6,20 +6,19 @@ pkgs, ... }: let - inherit (lib) mkIf mkEnableOption attrNames filterAttrs elem head; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace resolveHostIP readJsonOrEmpty getIn; - base = "${namespace}.services.apps.grafana"; - cfg = getAttrByNamespace config base; + inherit (lib) mkIf attrNames filterAttrs elem head; + inherit (lib.${namespace}) getAttrByNamespace resolveHostIP readJsonOrEmpty getIn hostHasService flattenHostServices getServicePort; + inherit (config.networking) hostName; + pgCfg = getAttrByNamespace config "${namespace}.services.storage.postgresql"; + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = flattenHostServices networkCfg.network-services; - port = 5500; + isEnabled = hostHasService networkCfg.network-services hostName "grafana"; + port = getServicePort networkServices "grafana" 5500; in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "Grafana"; - }; - - config = mkIf cfg.enable { + config = mkIf isEnabled { services.grafana = { enable = true; settings = { diff --git a/modules/nixos/services/apps/ntfy/default.nix b/modules/nixos/services/apps/ntfy/default.nix index eda7bdb..a1b1f8d 100644 --- a/modules/nixos/services/apps/ntfy/default.nix +++ b/modules/nixos/services/apps/ntfy/default.nix @@ -7,17 +7,16 @@ with lib; with lib.${namespace}; let inherit (lib) mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.ntfy"; - cfg = getAttrByNamespace config base; + inherit (lib.${namespace}) getAttrByNamespace hostHasService flattenHostServices getServicePort; + inherit (config.networking) hostName; - port = 5201; + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = flattenHostServices networkCfg.network-services; + + isEnabled = hostHasService networkCfg.network-services hostName "ntfy"; + port = getServicePort networkServices "ntfy" 5201; in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "ntfy"; - }; - - config = mkIf cfg.enable { + config = mkIf isEnabled { services.ntfy-sh = { enable = true; settings = { diff --git a/modules/nixos/services/apps/rustypaste/default.nix b/modules/nixos/services/apps/rustypaste/default.nix index 3d00d2f..57c7fe9 100644 --- a/modules/nixos/services/apps/rustypaste/default.nix +++ b/modules/nixos/services/apps/rustypaste/default.nix @@ -7,16 +7,21 @@ ... }: let inherit (lib) mkIf mkEnableOption; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; + inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace hostHasService flattenHostServices getServicePort; inherit (config.users) users groups; inherit (config.sops) secrets; + inherit (config.networking) hostName; + base = "${namespace}.services.apps.rustypaste"; cfg = getAttrByNamespace config base; - port = 5100; + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = flattenHostServices networkCfg.network-services; + + isEnabled = hostHasService networkCfg.network-services hostName "paste"; + port = getServicePort networkServices "paste" 5100; in { options = mkOptionsWithNamespace base { - enable = mkEnableOption "rustypaste server"; client = { enable = mkEnableOption "rustypaste client"; }; @@ -25,7 +30,7 @@ in { config = { environment.systemPackages = mkIf cfg.client.enable (with pkgs; [rustypaste-cli]); - systemd.services.rustypaste = mkIf cfg.enable { + systemd.services.rustypaste = mkIf isEnabled { description = "rustypaste"; wantedBy = ["multi-user.target"]; @@ -49,15 +54,15 @@ in { }; users = { - users.rustypaste = mkIf cfg.enable { + users.rustypaste = mkIf isEnabled { isSystemUser = true; group = "rustypaste"; }; - groups.rustypaste = mkIf (cfg.enable || cfg.client.enable) {}; + groups.rustypaste = mkIf (isEnabled || cfg.client.enable) {}; }; - environment.etc."rustypaste/rustypaste.toml" = mkIf cfg.enable { + environment.etc."rustypaste/rustypaste.toml" = mkIf isEnabled { source = let crypt = "${inputs.self}/secrets/crypt/"; in "${crypt}/rustypaste/server.toml"; @@ -65,25 +70,25 @@ in { mode = "0755"; }; - systemd.tmpfiles.rules = mkIf cfg.enable [ + systemd.tmpfiles.rules = mkIf isEnabled [ "d /var/lib/rustypaste 2750 ${users.rustypaste.name} ${users.rustypaste.group} -" ]; - sops.secrets = mkIf (cfg.enable || cfg.client.enable) { + sops.secrets = mkIf (isEnabled || cfg.client.enable) { "rustypaste/auth" = { - owner = mkIf cfg.enable users.rustypaste.name; + owner = mkIf isEnabled users.rustypaste.name; group = groups.rustypaste.name; mode = "0440"; }; "rustypaste/delete" = { - owner = mkIf cfg.enable users.rustypaste.name; + owner = mkIf isEnabled users.rustypaste.name; group = groups.rustypaste.name; mode = "0440"; }; }; - networking.firewall.allowedTCPPorts = mkIf cfg.enable [port]; + networking.firewall.allowedTCPPorts = mkIf isEnabled [port]; - ${namespace}.services.storage.impermanence.folders = mkIf cfg.enable ["/var/lib/rustypaste"]; + ${namespace}.services.storage.impermanence.folders = mkIf isEnabled ["/var/lib/rustypaste"]; }; } diff --git a/modules/nixos/services/apps/servarr/autobrr/default.nix b/modules/nixos/services/apps/servarr/autobrr/default.nix index 1d8fea6..2423f87 100644 --- a/modules/nixos/services/apps/servarr/autobrr/default.nix +++ b/modules/nixos/services/apps/servarr/autobrr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.autobrr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "autobrr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "autobrr"; +in { + config = mkIf isEnabled { services.autobrr = { enable = true; }; diff --git a/modules/nixos/services/apps/servarr/bazarr/default.nix b/modules/nixos/services/apps/servarr/bazarr/default.nix index ba0ba2e..e146a05 100644 --- a/modules/nixos/services/apps/servarr/bazarr/default.nix +++ b/modules/nixos/services/apps/servarr/bazarr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.bazarr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "bazarr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "bazarr"; +in { + config = mkIf isEnabled { services.bazarr = { enable = true; }; diff --git a/modules/nixos/services/apps/servarr/jellyfin/default.nix b/modules/nixos/services/apps/servarr/jellyfin/default.nix index 6f81798..dad696d 100644 --- a/modules/nixos/services/apps/servarr/jellyfin/default.nix +++ b/modules/nixos/services/apps/servarr/jellyfin/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkIf mkEnableOption; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.jellyfin"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "jellyfin"; - }; + inherit (lib) mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "jellyfin"; +in { + config = mkIf isEnabled { services.jellyfin = { enable = true; openFirewall = true; diff --git a/modules/nixos/services/apps/servarr/jellyseerr/default.nix b/modules/nixos/services/apps/servarr/jellyseerr/default.nix index f4180c5..50e5626 100644 --- a/modules/nixos/services/apps/servarr/jellyseerr/default.nix +++ b/modules/nixos/services/apps/servarr/jellyseerr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.jellyseerr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "jellyseerr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "jellyseerr"; +in { + config = mkIf isEnabled { services.jellyseerr = { enable = true; openFirewall = true; diff --git a/modules/nixos/services/apps/servarr/lidarr/default.nix b/modules/nixos/services/apps/servarr/lidarr/default.nix index 2cecaf8..efcb3c2 100644 --- a/modules/nixos/services/apps/servarr/lidarr/default.nix +++ b/modules/nixos/services/apps/servarr/lidarr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.lidarr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "lidarr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "lidarr"; +in { + config = mkIf isEnabled { services.lidarr = { enable = true; }; diff --git a/modules/nixos/services/apps/servarr/ombi/default.nix b/modules/nixos/services/apps/servarr/ombi/default.nix index a0e86c4..1a27129 100644 --- a/modules/nixos/services/apps/servarr/ombi/default.nix +++ b/modules/nixos/services/apps/servarr/ombi/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.ombi"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "ombi"; - }; + inherit (lib) mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "ombi"; +in { + config = mkIf isEnabled { services.ombi = { enable = true; openFirewall = true; diff --git a/modules/nixos/services/apps/servarr/prowlarr/default.nix b/modules/nixos/services/apps/servarr/prowlarr/default.nix index e08e331..450b31b 100644 --- a/modules/nixos/services/apps/servarr/prowlarr/default.nix +++ b/modules/nixos/services/apps/servarr/prowlarr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.prowlarr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "prowlarr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "prowlarr"; +in { + config = mkIf isEnabled { services.prowlarr = { enable = true; }; diff --git a/modules/nixos/services/apps/servarr/radarr/default.nix b/modules/nixos/services/apps/servarr/radarr/default.nix index 37bd551..e0bd14f 100644 --- a/modules/nixos/services/apps/servarr/radarr/default.nix +++ b/modules/nixos/services/apps/servarr/radarr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.radarr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "radarr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "radarr"; +in { + config = mkIf isEnabled { services.radarr = { enable = true; }; diff --git a/modules/nixos/services/apps/servarr/readarr/default.nix b/modules/nixos/services/apps/servarr/readarr/default.nix index 58a877f..e5c2902 100644 --- a/modules/nixos/services/apps/servarr/readarr/default.nix +++ b/modules/nixos/services/apps/servarr/readarr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.readarr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "readarr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "readarr"; +in { + config = mkIf isEnabled { services.readarr = { enable = true; }; diff --git a/modules/nixos/services/apps/servarr/sonarr/default.nix b/modules/nixos/services/apps/servarr/sonarr/default.nix index cab291f..f2d5965 100644 --- a/modules/nixos/services/apps/servarr/sonarr/default.nix +++ b/modules/nixos/services/apps/servarr/sonarr/default.nix @@ -4,16 +4,14 @@ namespace, ... }: let - inherit (lib) mkEnableOption mkForce mkIf; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; - base = "${namespace}.services.apps.servarr.sonarr"; - cfg = getAttrByNamespace config base; -in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "sonarr"; - }; + inherit (lib) mkForce mkIf; + inherit (lib.${namespace}) getAttrByNamespace hostHasService; + inherit (config.networking) hostName; - config = mkIf cfg.enable { + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + isEnabled = hostHasService networkCfg.network-services hostName "sonarr"; +in { + config = mkIf isEnabled { services.sonarr = { enable = true; }; diff --git a/modules/nixos/services/apps/uptime-kuma/default.nix b/modules/nixos/services/apps/uptime-kuma/default.nix index 01a0010..54e21c1 100644 --- a/modules/nixos/services/apps/uptime-kuma/default.nix +++ b/modules/nixos/services/apps/uptime-kuma/default.nix @@ -4,19 +4,18 @@ namespace, ... }: let - inherit (lib) mkIf mkEnableOption mkForce; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace; + inherit (lib) mkIf mkForce; + inherit (lib.${namespace}) getAttrByNamespace hostHasService flattenHostServices getServicePort; inherit (config.users) users; - base = "${namespace}.services.apps.uptime-kuma"; - cfg = getAttrByNamespace config base; + inherit (config.networking) hostName; - port = 5200; + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = flattenHostServices networkCfg.network-services; + + isEnabled = hostHasService networkCfg.network-services hostName "monitor"; + port = getServicePort networkServices "monitor" 5200; in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "uptime-kuma"; - }; - - config = mkIf cfg.enable { + config = mkIf isEnabled { services.uptime-kuma = { enable = true; settings = { diff --git a/modules/nixos/services/apps/vaultwarden/default.nix b/modules/nixos/services/apps/vaultwarden/default.nix index bebfa77..748a177 100644 --- a/modules/nixos/services/apps/vaultwarden/default.nix +++ b/modules/nixos/services/apps/vaultwarden/default.nix @@ -6,20 +6,19 @@ pkgs, ... }: let - inherit (lib) mkIf mkEnableOption filterAttrs attrNames head elem; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace readJsonOrEmpty getIn resolveHostIP; - base = "${namespace}.services.apps.vaultwarden"; - cfg = getAttrByNamespace config base; + inherit (lib) mkIf filterAttrs attrNames head elem; + inherit (lib.${namespace}) getAttrByNamespace readJsonOrEmpty getIn resolveHostIP hostHasService flattenHostServices getServicePort; + inherit (config.networking) hostName; + pgCfg = getAttrByNamespace config "${namespace}.services.storage.postgresql"; + networkCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = flattenHostServices networkCfg.network-services; - port = 5400; + isEnabled = hostHasService networkCfg.network-services hostName "vault"; + port = getServicePort networkServices "vault" 5400; in { - options = mkOptionsWithNamespace base { - enable = mkEnableOption "vaultwarden"; - }; - - config = mkIf cfg.enable { + config = mkIf isEnabled { services.vaultwarden = { enable = true; package = pkgs.vaultwarden-postgresql; diff --git a/modules/nixos/services/ci/woodpecker/default.nix b/modules/nixos/services/ci/woodpecker/default.nix index bb2637b..d008d6d 100644 --- a/modules/nixos/services/ci/woodpecker/default.nix +++ b/modules/nixos/services/ci/woodpecker/default.nix @@ -6,17 +6,24 @@ ... }: let inherit (lib) mkIf mkOption mkEnableOption types mapAttrs' mkMerge filterAttrs listToAttrs; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace resolveHostIP; + inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace resolveHostIP hostHasService flattenHostServices getServicePort; + inherit (config.networking) hostName; + base = "${namespace}.services.ci.woodpecker"; cfg = getAttrByNamespace config base; - networkingCfg = getAttrByNamespace config "${namespace}.services.networking"; - port = 5301; - gprcPort = 5302; + networkingCfg = getAttrByNamespace config "${namespace}.services.networking"; + networkServices = networkingCfg.network-services; + networkServicesFlat = flattenHostServices networkServices; + + woodpeckerHost = networkServicesFlat.woodpecker.host; + + isEnabled = hostHasService networkServices hostName "woodpecker"; + port = getServicePort networkServicesFlat "woodpecker" 5301; + gprcPort = port + 1; in { options = with types; mkOptionsWithNamespace base { - enable = mkEnableOption "woodpecker"; runners = mkOption { description = "Definition of runners to enable to the device"; type = attrsOf (submodule { @@ -42,7 +49,7 @@ in { services = let inherit (config.sops) secrets; in { - woodpecker-server = mkIf cfg.enable { + woodpecker-server = mkIf isEnabled { enable = true; environment = { WOODPECKER_HOST = "https://woodpecker.yumeami.sh"; @@ -71,7 +78,7 @@ in { environment = { WOODPECKER_SERVER = let woodpeckerIP = - networkingCfg.network-services.woodpecker.host + woodpeckerHost |> resolveHostIP networkingCfg.devices; in "${woodpeckerIP}:${toString gprcPort}"; WOODPECKER_AGENT_SECRET_FILE = @@ -97,7 +104,8 @@ in { }; }; in - cfg.runners |> mapAttrs' mkRunnerCfg; + cfg.runners + |> mapAttrs' mkRunnerCfg; }; users = { @@ -131,10 +139,9 @@ in { User = config.users.users.woodpecker.name; Group = config.users.users.woodpecker.group; inherit (config.networking) hostName; - woodpeckerHost = networkingCfg.network-services.woodpecker.host; in mkMerge [ - (mkIf cfg.enable { + (mkIf isEnabled { woodpecker-server = { serviceConfig = {inherit User Group;}; }; diff --git a/modules/nixos/services/networking/blocky/default.nix b/modules/nixos/services/networking/blocky/default.nix index 0ae0017..1f4b880 100644 --- a/modules/nixos/services/networking/blocky/default.nix +++ b/modules/nixos/services/networking/blocky/default.nix @@ -6,13 +6,13 @@ ... }: let inherit (lib) mkIf mapAttrsToList listToAttrs; - inherit (lib.${namespace}) getAttrByNamespace resolveHostIP flattenHostServices hostHasServices getServicePort; + inherit (lib.${namespace}) getAttrByNamespace resolveHostIP flattenHostServices hostHasService getServicePort; inherit (config.networking) hostName; networkCfg = getAttrByNamespace config "${namespace}.services.networking"; networkServices = flattenHostServices networkCfg.network-services; - isEnabled = hostHasServices networkCfg.network-services hostName; + isEnabled = hostHasService networkCfg.network-services hostName "blocky"; port = getServicePort networkServices "blocky" 53; in { config = mkIf isEnabled { diff --git a/modules/nixos/services/networking/miasma/default.nix b/modules/nixos/services/networking/miasma/default.nix index 154ab14..5a91a5f 100644 --- a/modules/nixos/services/networking/miasma/default.nix +++ b/modules/nixos/services/networking/miasma/default.nix @@ -6,7 +6,7 @@ ... }: let inherit (lib) mkIf mkOption types; - inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace hostHasServices flattenHostServices getServicePort; + inherit (lib.${namespace}) getAttrByNamespace mkOptionsWithNamespace hostHasService flattenHostServices getServicePort; inherit (config.networking) hostName; base = "${namespace}.services.networking.miasma"; @@ -14,7 +14,7 @@ networkCfg = getAttrByNamespace config "${namespace}.services.networking"; networkServices = flattenHostServices networkCfg.network-services; - isEnabled = hostHasServices networkCfg.network-services hostName; + isEnabled = hostHasService networkCfg.network-services hostName "miasma"; port = getServicePort networkServices "miasma" 9999; in { options = with types; diff --git a/modules/nixos/services/networking/unbound/default.nix b/modules/nixos/services/networking/unbound/default.nix index 1f37146..c135aa9 100644 --- a/modules/nixos/services/networking/unbound/default.nix +++ b/modules/nixos/services/networking/unbound/default.nix @@ -5,13 +5,13 @@ ... }: let inherit (lib) mkIf; - inherit (lib.${namespace}) getAttrByNamespace hostHasServices flattenHostServices getServicePort; + inherit (lib.${namespace}) getAttrByNamespace hostHasService flattenHostServices getServicePort; inherit (config.networking) hostName; networkCfg = getAttrByNamespace config "${namespace}.services.networking"; networkServices = flattenHostServices networkCfg.network-services; - isEnabled = hostHasServices networkCfg.network-services hostName; + isEnabled = hostHasService networkCfg.network-services hostName "unbound"; port = getServicePort networkServices "unbound" 54; in { config = mkIf isEnabled { diff --git a/systems/aarch64-linux/chibi/default.nix b/systems/aarch64-linux/chibi/default.nix index d131dcd..fd2b2c1 100755 --- a/systems/aarch64-linux/chibi/default.nix +++ b/systems/aarch64-linux/chibi/default.nix @@ -19,16 +19,8 @@ in { common = enabled; }; services = { - apps = { - ntfy = enabled; - uptime-kuma = enabled; - }; - networking = { - # blocky = enabled; - # cloudflared = enabled; httpd = enabled; - # unbound = enabled; }; storage = { diff --git a/systems/x86_64-linux/arisu/default.nix b/systems/x86_64-linux/arisu/default.nix index d20d21d..3f0c5a2 100644 --- a/systems/x86_64-linux/arisu/default.nix +++ b/systems/x86_64-linux/arisu/default.nix @@ -39,17 +39,6 @@ in { apps = { rustypaste.client = enabled; - servarr = { - jellyfin = enabled; - ombi = enabled; - - prowlarr = enabled; - radarr = enabled; - sonarr = enabled; - lidarr = enabled; - bazarr = enabled; - }; - qbittorrent = enabled; }; @@ -70,14 +59,13 @@ in { }; }; }; - woodpecker.runners = { - primary.enable = true; + woodpecker.runners.primary = { + enable = true; }; }; networking = { httpd = enabled; - miasma = enabled; }; storage = { diff --git a/systems/x86_64-linux/shiori/default.nix b/systems/x86_64-linux/shiori/default.nix index 7a1c1ec..d501c47 100755 --- a/systems/x86_64-linux/shiori/default.nix +++ b/systems/x86_64-linux/shiori/default.nix @@ -19,14 +19,6 @@ in { }; services = { - apps = { - forgejo = enabled; - glance = enabled; - grafana = enabled; - rustypaste = enabled; - vaultwarden = enabled; - }; - ci = { gitea-runner = { enable = true; @@ -34,20 +26,15 @@ in { capacity = 4; }; }; - woodpecker = { + woodpecker.runners.primary = { enable = true; - runners.primary = { - enable = true; - capacity = 4; - }; + capacity = 4; }; }; networking = { - blocky = enabled; cloudflared = enabled; httpd = enabled; - unbound = enabled; }; storage = {