{ pkgs, inputs, ... }: { imports = [ ./desktop ./virt.nix ./gpg.nix ./btrfs.nix ./vpn.nix ./remote-builder.nix ./nh.nix ./motd.nix ./locale.nix ./test_endpoint.nix ./prometheus.nix ./mjmap.nix ]; nixpkgs.overlays = [ (import ../overlays/stable_overrides.nix { nixpkgs-stable = inputs.nixpkgs-stable; inherit pkgs; }) ]; nix.settings = { experimental-features = [ "nix-command" "flakes" ]; substituters = [ "https://cache.nixos-cuda.org" ]; trusted-public-keys = [ "cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M=" ]; }; nixpkgs = { config = { permittedInsecurePackages = [ "olm-3.2.16" ]; allowUnfree = true; }; }; time.timeZone = "Europe/Amsterdam"; # Set timezone sops.defaultSopsFile = ./secrets/secrets.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.keyFile = "/var/lib/sops-nix/key.txt"; sops.age.generateKey = true; systemd.oomd = { enable = true; enableUserSlices = true; enableSystemSlice = true; enableRootSlice = true; settings.OOM = { SwapUsedLimit = "40%"; DefaultMemoryPressureLimit = "80%"; DefaultMemoryPressureDurationSec = 20; }; }; # Because NH is enabled, this needs to be disabled. # nix.gc = { # automatic = true; # dates = "weekly"; # options = "--delete-older-than 30d"; # }; zramSwap = { enable = true; algorithm = "lz4"; memoryPercent = 50; }; systemd.services.nix-daemon.serviceConfig = { MemoryAccounting = true; MemoryMax = "90%"; OOMScoreAdjust = 500; }; environment.systemPackages = with pkgs; [ htop btop nmap dig ripgrep unzip sshfs ranger file lm_sensors # Needed for getting credentials age sops bashInteractive coreutils util-linux iproute2 iputils pciutils usbutils vim tmux ]; networking.hosts = { "0.0.0.0" = [ "apresolve.spotify.com" ]; }; # This option defines the first version of NixOS you have installed on this particular machine, # DO NOT CHANGE UNLESS USING NIXOS-INSTALL system.stateVersion = "24.11"; # Did you read the comment? }