{ ... }: { imports = [ ./hardware-configuration.nix ../../base.nix ]; my = { emacs.enable = true; apps.dictionaries.enable = true; shell.tools.enable = true; services = { network.enable = true; nvidia.enable = true; }; dev = { nix.enable = true; python.enable = true; sh.enable = true; }; scripts = { run.enable = true; split-dir.enable = true; ffmpreg.enable = true; ffmpeg4discord.enable = true; }; servers = { sonarr.enable = true; radarr.enable = true; lidarr.enable = true; prowlarr.enable = true; bazarr.enable = true; kavita.enable = true; qbittorrent.enable = true; sabnzbd.enable = true; unpackerr.enable = true; jellyfin = { enable = true; enableCron = true; }; }; }; networking = let ports = [ 2049 # idk 8989 # sonarr 7878 # radarr 8686 # lidarr 9696 # prowlarr 8096 # jellyfin 6767 # bazarr 5000 # kavita 3399 # sabnzbd ]; in { hostName = "server"; firewall = { allowedTCPPorts = ports; allowedUDPPorts = ports; }; }; nixpkgs.hostPlatform = "x86_64-linux"; nix = let featuresList = [ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-znver3" "gccarch-skylake" "gccarch-alderlake" ]; in { settings.cores = 6; buildMachines = [{ hostName = "workstation"; system = "x86_64-linux"; sshUser = "nixremote"; maxJobs = 14; speedFactor = 1; supportedFeatures = featuresList; }]; }; users = { groups.nixremote.gid = 555; users.nixremote = { isNormalUser = true; createHome = true; group = "nixremote"; home = "/var/nixremote/"; openssh.authorizedKeys.keys = [ (builtins.readFile ../../secrets/ssh/ed25519_nixworkstation.pub) ]; }; }; services = { minidlna = { enable = true; openFirewall = true; settings = { inotify = "yes"; media_dir = [ "/mnt/pool" "/mnt/jawz" ]; }; }; btrfs.autoScrub = { enable = true; fileSystems = [ "/" ]; }; }; }