diff --git a/hosts/vps/configuration.nix b/hosts/vps/configuration.nix index 297fb86..fc50bc3 100644 --- a/hosts/vps/configuration.nix +++ b/hosts/vps/configuration.nix @@ -1,4 +1,5 @@ { + config, lib, inputs, pkgs, @@ -9,7 +10,7 @@ ./hardware-configuration.nix ../../config/base.nix ]; - my = import ./toggles.nix // { + my = import ./toggles.nix { inherit config inputs; } // { secureHost = true; users.nixremote = { enable = true; @@ -19,15 +20,6 @@ "nixminiserver" ]; }; - interfaces = lib.mkMerge [ - { - vps = "eth0"; - } - ]; - services = { - network.enable = true; - wireguard.enable = true; - }; }; environment.etc."iptables.rules".source = ../../iptables; networking.firewall.enable = lib.mkForce false; diff --git a/hosts/vps/toggles.nix b/hosts/vps/toggles.nix index ee68bdc..f99182e 100644 --- a/hosts/vps/toggles.nix +++ b/hosts/vps/toggles.nix @@ -1,12 +1,22 @@ { config, inputs }: let - inherit (inputs.self.lib) mkEnabledWithUsers enableList; + inherit (inputs.self.lib) + enableList + mkEnabled + mkEnabledProxy + mkEnabledWithUsers + ; + mkEnabledProxyIp = inputs.self.lib.mkEnabledProxyIp config.my.ips.wg-server; in { enableProxy = true; enableContainers = true; apps.dictionaries.enable = true; apps.dictionaries.users = "jawz"; + services = enableList mkEnabled [ + "network" + "wireguard" + ]; shell = enableList mkEnabledWithUsers [ "multimedia" "tools" @@ -24,41 +34,32 @@ in nextcloud = { enableProxy = true; }; - }; - # // enableList mkEnabledProxy [ - # "atticd" - # "bazarr" - # "collabora" - # "gitea" - # "homepage" - # "jellyfin" - # "kavita" - # "lidarr" - # "maloja" - # "mealie" - # "metube" - # "microbin" - # "multi-scrobbler" - # "paperless" - # "plex" - # "postgres" - # "prowlarr" - # "qbittorrent" - # "radarr" - # "sabnzbd" - # "sonarr" - # "yamtrack" - # "stash" - # "synapse" - # "syncplay" - # "unpackerr" - # ] - # // enableList mkEnabledProxyIp [ - # "audiobookshelf" - # "isso" - # "keycloak" - # "linkwarden" - # "oauth2-proxy" - # "vaultwarden" - # ]; + } + // enableList mkEnabledProxy [ + "bazarr" + "collabora" + "gitea" + # "homepage" + "jellyfin" + "kavita" + "lidarr" + "maloja" + "mealie" + "metube" + "microbin" + "multi-scrobbler" + "plex" + # "prowlarr" + "radarr" + "sonarr" + "yamtrack" + ] + // enableList mkEnabledProxyIp [ + "audiobookshelf" + "isso" + "keycloak" + "linkwarden" + "oauth2-proxy" + "vaultwarden" + ]; } diff --git a/modules/modules.nix b/modules/modules.nix index 696e0f8..c1318fa 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -68,6 +68,7 @@ in server = "enp0s31f6"; miniserver = "enp2s0"; workstation = "enp5s0"; + vps = "eth0"; }; description = "Set of network interface names for all my computers."; }; diff --git a/modules/servers/homepage.nix b/modules/servers/homepage.nix index 8a63365..9e39ca5 100644 --- a/modules/servers/homepage.nix +++ b/modules/servers/homepage.nix @@ -9,8 +9,8 @@ let in { options.my.servers.homepage = setup.mkOptions "homepage" "home" 8082; - config = lib.mkIf config.my.secureHost { - sops.secrets = lib.mkIf cfg.enable { + config = lib.mkIf (cfg.enable && config.my.secureHost) { + sops.secrets = { homepage.sopsFile = ../../secrets/homepage.yaml; "private-ca/pem" = { sopsFile = ../../secrets/certs.yaml; @@ -19,7 +19,7 @@ in }; }; my.servers.homepage.certPath = config.sops.secrets."private-ca/pem".path; - services.homepage-dashboard = lib.mkIf cfg.enable { + services.homepage-dashboard = { inherit (cfg) enable; listenPort = cfg.port; environmentFile = config.sops.secrets.homepage.path;