made toggles.nix easier to read

This commit is contained in:
Danilo Reyes 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;
};
];
}

View File

@ -1,49 +1,56 @@
let
mkEnabled = name: {
inherit name;
value.enable = true;
};
enableList = func: list: list |> map func |> builtins.listToAttrs;
in
{
enableContainers = true;
emacs.enable = true;
apps = {
art.enable = true;
piano.enable = true;
dictionaries.enable = true;
fonts.enable = true;
gaming.enable = true;
switch.enable = true;
internet.enable = true;
multimedia.enable = true;
office.enable = true;
misc.enable = true;
};
dev = {
cc.enable = true;
docker.enable = true;
julia.enable = true;
rust.enable = true;
haskell.enable = true;
nix.enable = true;
python.enable = true;
gameDev.enable = true;
sh.enable = true;
javascript.enable = true;
};
shell = {
exercism.enable = true;
multimedia.enable = true;
tools.enable = true;
};
services = {
network.enable = true;
nvidia.enable = true;
printing.enable = true;
sound.enable = true;
};
scripts = {
tasks.enable = true;
run.enable = true;
split-dir.enable = true;
download.enable = true;
ffmpreg.enable = true;
ffmpeg4discord.enable = true;
update-org-agenda-cache.enable = true;
};
enableContainers = true;
servers.drpp.enable = true;
apps = enableList mkEnabled [
"art"
"piano"
"dictionaries"
"fonts"
"gaming"
"switch"
"internet"
"multimedia"
"office"
"misc"
];
dev = enableList mkEnabled [
"cc"
"docker"
"julia"
"rust"
"haskell"
"nix"
"python"
"gameDev"
"sh"
"javascript"
];
shell = enableList mkEnabled [
"exercism"
"multimedia"
"tools"
];
services = enableList mkEnabled [
"network"
"nvidia"
"printing"
"sound"
];
scripts = enableList mkEnabled [
"tasks"
"run"
"split-dir"
"download"
"ffmpreg"
"ffmpeg4discord"
"update-org-agenda-cache"
];
}