made toggles.nix easier to read

This commit is contained in:
2025-04-17 12:25:09 -06:00
parent 8c2af56e3e
commit 31d279eabb
2 changed files with 108 additions and 97 deletions

View File

@@ -1,4 +1,8 @@
let
mkEnabled = name: {
inherit name;
value.enable = true;
};
mkEnabledProxy = name: {
inherit name;
value = {
@@ -6,8 +10,57 @@ let
enableProxy = true;
};
};
withProxy = builtins.listToAttrs (
map mkEnabledProxy [
enableList = func: list: list |> map func |> builtins.listToAttrs;
in
{
mainServer = "server";
emacs.enable = true;
enableProxy = true;
websites.portfolio.enableProxy = true;
apps.dictionaries.enable = true;
shell = enableList mkEnabled [
"tools"
"multimedia"
];
services = enableList mkEnabled [
"network"
"nvidia"
"wireguard"
];
dev = enableList mkEnabled [
"nix"
"python"
"sh"
];
units = enableList mkEnabled [
"downloadManga"
"download"
"stream-dl"
];
scripts = enableList mkEnabled [
"run"
"download"
"split-dir"
"ffmpreg"
"ffmpeg4discord"
"manage-library"
"library-report"
"update-dns"
"stream-dl"
"pika-list"
"find-dup-episodes"
"tuh-activity-logger"
];
servers =
enableList mkEnabled [
"qbittorrent"
"sabnzbd"
"unpackerr"
"postgres"
"paperless"
"stash"
]
// enableList mkEnabledProxy [
"sonarr"
"radarr"
"lidarr"
@@ -26,54 +79,5 @@ let
"mealie"
"readeck"
"synapse"
]
);
in
{
mainServer = "server";
emacs.enable = true;
apps.dictionaries.enable = true;
websites.portfolio.enableProxy = true;
enableProxy = true;
shell = {
tools.enable = true;
multimedia.enable = true;
};
services = {
network.enable = true;
nvidia.enable = true;
wireguard.enable = true;
};
dev = {
nix.enable = true;
python.enable = true;
sh.enable = true;
};
scripts = {
run.enable = true;
download.enable = true;
split-dir.enable = true;
ffmpreg.enable = true;
ffmpeg4discord.enable = true;
manage-library.enable = true;
library-report.enable = true;
update-dns.enable = true;
stream-dl.enable = true;
pika-list.enable = true;
find-dup-episodes.enable = true;
tuh-activity-logger.enable = true;
};
units = {
downloadManga.enable = true;
download.enable = true;
stream-dl.enable = true;
};
servers = withProxy // {
qbittorrent.enable = true;
sabnzbd.enable = true;
unpackerr.enable = true;
postgres.enable = true;
paperless.enable = true;
# stash.enable = true;
};
];
}