From 56adbf671fd1fb23923862955042f26813fb1171 Mon Sep 17 00:00:00 2001 From: Danilo Reyes Date: Sun, 28 Sep 2025 15:01:47 -0600 Subject: [PATCH] optimizations + overall linting --- flake.lock | 6 +-- hosts/miniserver/configuration.nix | 4 +- hosts/miniserver/toggles.nix | 70 +++++++++++++++++++----------- hosts/server/configuration.nix | 4 +- hosts/server/toggles.nix | 1 + modules/modules.nix | 17 +------- 6 files changed, 53 insertions(+), 49 deletions(-) diff --git a/flake.lock b/flake.lock index 39f4412..99c3f1e 100644 --- a/flake.lock +++ b/flake.lock @@ -845,11 +845,11 @@ ] }, "locked": { - "lastModified": 1759084735, - "narHash": "sha256-G0m1drJGmQS2okeT6j33NzVKBbKPgb6+B786kzCjSiI=", + "lastModified": 1759091793, + "narHash": "sha256-BBeGZR3lbAp9x1CJxjQ2FkUZX4iOf5UIRvwUPQrSfFw=", "owner": "nix-community", "repo": "nur", - "rev": "1eac073db3f04be9eca753c8f0bf54b341e85e14", + "rev": "e88fd7766e9b1af996a438341cbbd51d6ca1c621", "type": "github" }, "original": { diff --git a/hosts/miniserver/configuration.nix b/hosts/miniserver/configuration.nix index 0b58cbe..f687c50 100644 --- a/hosts/miniserver/configuration.nix +++ b/hosts/miniserver/configuration.nix @@ -24,8 +24,8 @@ }; in [ - (buildMachine "workstation" 16 40) - (buildMachine "server" 16 17) + (buildMachine "workstation" 8 40) + (buildMachine "server" 6 17) ]; networking = { hostName = "miniserver"; diff --git a/hosts/miniserver/toggles.nix b/hosts/miniserver/toggles.nix index fc80605..93095f4 100644 --- a/hosts/miniserver/toggles.nix +++ b/hosts/miniserver/toggles.nix @@ -1,32 +1,50 @@ -{ - emacs.enable = true; - apps.dictionaries.enable = true; - websites.portfolio.enableProxy = true; - services.network.enable = true; - enableProxy = true; - shell = { - tools.enable = true; - multimedia.enable = true; +let + mkEnabled = name: { + inherit name; + value.enable = true; }; - dev = { - nix.enable = true; - python.enable = true; - sh.enable = true; - }; - units = { - download.enable = true; - stream-dl.enable = true; - }; - scripts = { - split-dir.enable = true; - pika-list.enable = true; - update-dns.enable = true; - }; - servers = { - audiobookshelf = { + mkEnabledWithProxy = name: { + inherit name; + value = { enable = true; enableProxy = true; }; - qbittorrent.enable = true; }; + enableList = func: list: list |> map func |> builtins.listToAttrs; +in +{ + emacs.enable = true; + enableProxy = true; + websites.portfolio.enableProxy = true; + apps = enableList mkEnabled [ + "dictionaries" + ]; + services = enableList mkEnabled [ + "network" + ]; + shell = enableList mkEnabled [ + "tools" + "multimedia" + ]; + dev = enableList mkEnabled [ + "nix" + "python" + "sh" + ]; + units = enableList mkEnabled [ + "download" + "stream-dl" + ]; + scripts = enableList mkEnabled [ + "split-dir" + "pika-list" + "update-dns" + ]; + servers = + enableList mkEnabled [ + "qbittorrent" + ] + // enableList mkEnabledWithProxy [ + "audiobookshelf" + ]; } diff --git a/hosts/server/configuration.nix b/hosts/server/configuration.nix index 572c719..587f0ab 100644 --- a/hosts/server/configuration.nix +++ b/hosts/server/configuration.nix @@ -31,8 +31,8 @@ hostName = "workstation"; system = "x86_64-linux"; sshUser = "nixremote"; - maxJobs = 12; - speedFactor = 1; + maxJobs = 8; + speedFactor = 2; supportedFeatures = config.my.nix.features; } ]; diff --git a/hosts/server/toggles.nix b/hosts/server/toggles.nix index 669eb42..0af86f6 100644 --- a/hosts/server/toggles.nix +++ b/hosts/server/toggles.nix @@ -18,6 +18,7 @@ in emacs.enable = true; stylix.enable = true; enableProxy = true; + enableContainers = true; apps.dictionaries.enable = true; shell = enableList mkEnabled [ "tools" diff --git a/modules/modules.nix b/modules/modules.nix index 099ca45..4110d8c 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -1,20 +1,5 @@ { lib, config, ... }: let - enableContainers = lib.any (opt: opt) [ - config.my.servers.collabora.enable - config.my.servers.ryot.enable - config.my.servers.lidarr.enable - config.my.servers.prowlarr.enable - config.my.servers.maloja.enable - config.my.servers.multi-scrobbler.enable - config.my.servers.flame.enable - config.my.servers.flameSecret.enable - config.my.servers.metube.enable - config.my.servers.go-vod.enable - config.my.servers.tranga.enable - config.my.servers.drpp.enable - config.my.servers.plex-discord-bot.enable - ]; filterNames = file: file != "librewolf.nix"; autoImport = dir: @@ -182,7 +167,7 @@ in virtualisation = { containers.enable = true; oci-containers.backend = "podman"; - podman = lib.mkIf (enableContainers || config.my.enableContainers) { + podman = lib.mkIf config.my.enableContainers { enable = true; dockerCompat = true; dockerSocket.enable = true;