004-vps-migration #5

Merged
jawz merged 47 commits from 004-vps-migration into main 2026-02-06 09:20:18 -06:00
4 changed files with 45 additions and 51 deletions
Showing only changes of commit 237e120124 - Show all commits

View File

@@ -1,4 +1,5 @@
{ {
config,
lib, lib,
inputs, inputs,
pkgs, pkgs,
@@ -9,7 +10,7 @@
./hardware-configuration.nix ./hardware-configuration.nix
../../config/base.nix ../../config/base.nix
]; ];
my = import ./toggles.nix // { my = import ./toggles.nix { inherit config inputs; } // {
secureHost = true; secureHost = true;
users.nixremote = { users.nixremote = {
enable = true; enable = true;
@@ -19,15 +20,6 @@
"nixminiserver" "nixminiserver"
]; ];
}; };
interfaces = lib.mkMerge [
{
vps = "eth0";
}
];
services = {
network.enable = true;
wireguard.enable = true;
};
}; };
environment.etc."iptables.rules".source = ../../iptables; environment.etc."iptables.rules".source = ../../iptables;
networking.firewall.enable = lib.mkForce false; networking.firewall.enable = lib.mkForce false;

View File

@@ -1,12 +1,22 @@
{ config, inputs }: { config, inputs }:
let 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 in
{ {
enableProxy = true; enableProxy = true;
enableContainers = true; enableContainers = true;
apps.dictionaries.enable = true; apps.dictionaries.enable = true;
apps.dictionaries.users = "jawz"; apps.dictionaries.users = "jawz";
services = enableList mkEnabled [
"network"
"wireguard"
];
shell = enableList mkEnabledWithUsers [ shell = enableList mkEnabledWithUsers [
"multimedia" "multimedia"
"tools" "tools"
@@ -24,41 +34,32 @@ in
nextcloud = { nextcloud = {
enableProxy = true; enableProxy = true;
}; };
}; }
# // enableList mkEnabledProxy [ // enableList mkEnabledProxy [
# "atticd" "bazarr"
# "bazarr" "collabora"
# "collabora" "gitea"
# "gitea" # "homepage"
# "homepage" "jellyfin"
# "jellyfin" "kavita"
# "kavita" "lidarr"
# "lidarr" "maloja"
# "maloja" "mealie"
# "mealie" "metube"
# "metube" "microbin"
# "microbin" "multi-scrobbler"
# "multi-scrobbler" "plex"
# "paperless" # "prowlarr"
# "plex" "radarr"
# "postgres" "sonarr"
# "prowlarr" "yamtrack"
# "qbittorrent" ]
# "radarr" // enableList mkEnabledProxyIp [
# "sabnzbd" "audiobookshelf"
# "sonarr" "isso"
# "yamtrack" "keycloak"
# "stash" "linkwarden"
# "synapse" "oauth2-proxy"
# "syncplay" "vaultwarden"
# "unpackerr" ];
# ]
# // enableList mkEnabledProxyIp [
# "audiobookshelf"
# "isso"
# "keycloak"
# "linkwarden"
# "oauth2-proxy"
# "vaultwarden"
# ];
} }

View File

@@ -68,6 +68,7 @@ in
server = "enp0s31f6"; server = "enp0s31f6";
miniserver = "enp2s0"; miniserver = "enp2s0";
workstation = "enp5s0"; workstation = "enp5s0";
vps = "eth0";
}; };
description = "Set of network interface names for all my computers."; description = "Set of network interface names for all my computers.";
}; };

View File

@@ -9,8 +9,8 @@ let
in in
{ {
options.my.servers.homepage = setup.mkOptions "homepage" "home" 8082; options.my.servers.homepage = setup.mkOptions "homepage" "home" 8082;
config = lib.mkIf config.my.secureHost { config = lib.mkIf (cfg.enable && config.my.secureHost) {
sops.secrets = lib.mkIf cfg.enable { sops.secrets = {
homepage.sopsFile = ../../secrets/homepage.yaml; homepage.sopsFile = ../../secrets/homepage.yaml;
"private-ca/pem" = { "private-ca/pem" = {
sopsFile = ../../secrets/certs.yaml; sopsFile = ../../secrets/certs.yaml;
@@ -19,7 +19,7 @@ in
}; };
}; };
my.servers.homepage.certPath = config.sops.secrets."private-ca/pem".path; my.servers.homepage.certPath = config.sops.secrets."private-ca/pem".path;
services.homepage-dashboard = lib.mkIf cfg.enable { services.homepage-dashboard = {
inherit (cfg) enable; inherit (cfg) enable;
listenPort = cfg.port; listenPort = cfg.port;
environmentFile = config.sops.secrets.homepage.path; environmentFile = config.sops.secrets.homepage.path;