working
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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"
|
||||||
# "paperless"
|
"plex"
|
||||||
# "plex"
|
|
||||||
# "postgres"
|
|
||||||
# "prowlarr"
|
# "prowlarr"
|
||||||
# "qbittorrent"
|
"radarr"
|
||||||
# "radarr"
|
"sonarr"
|
||||||
# "sabnzbd"
|
"yamtrack"
|
||||||
# "sonarr"
|
]
|
||||||
# "yamtrack"
|
// enableList mkEnabledProxyIp [
|
||||||
# "stash"
|
"audiobookshelf"
|
||||||
# "synapse"
|
"isso"
|
||||||
# "syncplay"
|
"keycloak"
|
||||||
# "unpackerr"
|
"linkwarden"
|
||||||
# ]
|
"oauth2-proxy"
|
||||||
# // enableList mkEnabledProxyIp [
|
"vaultwarden"
|
||||||
# "audiobookshelf"
|
];
|
||||||
# "isso"
|
|
||||||
# "keycloak"
|
|
||||||
# "linkwarden"
|
|
||||||
# "oauth2-proxy"
|
|
||||||
# "vaultwarden"
|
|
||||||
# ];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user