{ ... }: { imports = [ ./hardware-configuration.nix ../../base.nix ]; my = { emacs.enable = true; apps.dictionaries.enable = true; services = { network.enable = true; wireguard.enable = true; }; enableProxy = true; shell = { tools.enable = true; multimedia.enable = true; }; dev = { nix.enable = true; python.enable = true; sh.enable = true; }; units = { download.enable = true; stream-dl.enable = true; }; scripts = { run.enable = true; split-dir.enable = true; download.enable = true; ffmpreg.enable = true; ffmpeg4discord.enable = true; manage-library.enable = true; pika-list.enable = true; find-dup-episodes.enable = true; update-dns.enable = true; }; servers = { jellyfin = { enable = false; enableCron = false; enableProxy = true; hostName = "server"; }; nextcloud = { enable = true; enableCron = true; enableProxy = true; }; adguardhome.enable = false; audiobookshelf = { enable = true; enableProxy = true; }; bazarr = { enable = false; enableProxy = true; hostName = "server"; }; collabora = { enable = true; enableProxy = true; }; flame = { enable = true; enableProxy = true; }; flameSecret = { enable = true; enableProxy = true; }; go-vod.enable = false; homepage = { enable = true; enableProxy = true; }; kavita = { enable = false; enableProxy = true; hostName = "server"; }; lidarr = { enable = false; enableProxy = true; hostName = "server"; }; maloja = { enable = true; enableProxy = true; }; mealie = { enable = true; enableProxy = true; }; metube = { enable = false; enableProxy = false; }; microbin = { enable = true; enableProxy = true; }; multi-scrobbler = { enable = true; enableProxy = true; }; paperless.enable = true; postgres.enable = true; prowlarr = { enable = false; enableProxy = true; hostName = "server"; }; qbittorrent.enable = true; unpackerr.enable = false; radarr = { enable = false; enableProxy = true; hostName = "server"; }; ryot = { enable = true; enableProxy = true; }; shiori = { enable = true; enableProxy = true; }; sonarr = { enable = false; enableProxy = true; hostName = "server"; }; vaultwarden = { enable = true; enableProxy = true; }; firefly-iii.enable = false; }; }; networking = { hostName = "miniserver"; firewall = { allowedTCPPorts = [ 2049 ]; allowedUDPPorts = [ 2049 ]; }; }; nix = let featuresList = [ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-znver3" "gccarch-skylake" "gccarch-alderlake" ]; in { settings.cores = 3; buildMachines = [ { hostName = "workstation"; system = "x86_64-linux"; sshUser = "nixremote"; maxJobs = 14; speedFactor = 1; supportedFeatures = featuresList; } ]; }; nixpkgs = { config.permittedInsecurePackages = [ "openssl-1.1.1w" ]; hostPlatform = "x86_64-linux"; }; 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 = { btrfs.autoScrub = { enable = true; fileSystems = [ "/" ]; }; minidlna = { enable = false; openFirewall = true; settings = { inotify = "yes"; media_dir = [ "/mnt/pool/" ]; }; }; }; }