Files
NixOS/hosts/vps/toggles.nix
Danilo Reyes 8d62cffc8e
Some checks failed
MCP Tests / mcp-tests (push) Successful in 23s
Weekly NixOS Build & Cache / build-and-cache (push) Failing after 9m18s
linode builds both image and host
2026-02-09 00:13:59 -06:00

87 lines
1.6 KiB
Nix

{
config,
inputs,
lib,
}:
let
inherit (inputs.self.lib)
enableList
mkEnabled
mkEnabledWithProxy
mkEnabledWithUsers
;
wgServerIp = config.my.ips.wg-server;
mkEnabledProxyIp = inputs.self.lib.mkEnabledProxyIp wgServerIp;
mkEnabledProxySocketIp = name: {
inherit name;
value = {
enableProxy = true;
enableSocket = true;
ip = wgServerIp;
};
};
baseToggles = {
services = enableList mkEnabled [
"network"
"wireguard"
];
shell = enableList mkEnabledWithUsers [
"multimedia"
"tools"
];
dev = enableList mkEnabledWithUsers [
"nix"
"sh"
];
apps.dictionaries = {
enable = true;
users = "jawz";
};
};
secureToggles = {
enableProxy = true;
enableContainers = true;
websites = {
portfolio.enableProxy = true;
lidarrMbReport.enableProxy = true;
};
servers =
enableList mkEnabledWithProxy [
"isso"
"microbin"
]
// enableList mkEnabledProxySocketIp [
"audiobookshelf"
"collabora"
"jellyfin"
"nextcloud"
"plausible"
"plex"
]
// enableList mkEnabledProxyIp [
"atticd"
"bazarr"
"gitea"
"homepage"
"kavita"
"keycloak"
"lidarr"
"linkwarden"
"maloja"
"mealie"
"metube"
"multi-scrobbler"
"oauth2-proxy"
"prowlarr"
"radarr"
"sonarr"
"vaultwarden"
"yamtrack"
];
};
in
lib.mkMerge [
baseToggles
(lib.mkIf config.my.secureHost secureToggles)
]