diff --git a/hosts/server/toggles.nix b/hosts/server/toggles.nix index a92433f..b4bdfa6 100644 --- a/hosts/server/toggles.nix +++ b/hosts/server/toggles.nix @@ -4,7 +4,7 @@ let mkEnabledIp = inputs.self.lib.mkEnabledIp config.my.ips.wg-server; in { - mainServer = "server"; + mainServer = "vps"; emacs = { enable = true; users = "jawz"; diff --git a/hosts/vps/toggles.nix b/hosts/vps/toggles.nix index d70dcc4..ee68bdc 100644 --- a/hosts/vps/toggles.nix +++ b/hosts/vps/toggles.nix @@ -1,10 +1,64 @@ +{ config, inputs }: +let + inherit (inputs.self.lib) mkEnabledWithUsers enableList; +in { enableProxy = true; + enableContainers = true; + apps.dictionaries.enable = true; + apps.dictionaries.users = "jawz"; + shell = enableList mkEnabledWithUsers [ + "multimedia" + "tools" + ]; + dev = enableList mkEnabledWithUsers [ + "nix" + "sh" + ]; servers = { postgres.enable = true; plausible = { enable = true; enableProxy = true; }; + 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" + # ]; } diff --git a/parts/core.nix b/parts/core.nix index 6d62eb3..69febd7 100644 --- a/parts/core.nix +++ b/parts/core.nix @@ -196,6 +196,19 @@ in inherit ip; }; }; + mkEnabledProxy = name: { + inherit name; + value = { + enableProxy = true; + }; + }; + mkEnabledProxyIp = ip: name: { + inherit name; + value = { + enable = true; + inherit ip; + }; + }; enableList = func: list: list |> map func |> builtins.listToAttrs; mkPostgresDependency = config: serviceName: displayName: { assertion = config.my.servers.${serviceName}.enable -> config.my.servers.postgres.enable;