{ inputs, config, pkgs, ... }: { imports = [ inputs.agenix.nixosModules.age inputs.home-manager.nixosModule inputs.stylix.nixosModules.stylix ../modules/nixos ]; nixpkgs.overlays = [ inputs.agenix.overlays.default (import ../overlays/default.nix) (final: prev: { unstable = import inputs.nixpkgs-unstable { system = final.system; }; }) ]; time.timeZone = "Europe/London"; i18n.defaultLocale = "en_GB.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_GB.UTF-8"; LC_IDENTIFICATION = "en_GB.UTF-8"; LC_MEASUREMENT = "en_GB.UTF-8"; LC_MONETARY = "en_GB.UTF-8"; LC_NAME = "en_GB.UTF-8"; LC_NUMERIC = "en_GB.UTF-8"; LC_PAPER = "en_GB.UTF-8"; LC_TELEPHONE = "en_GB.UTF-8"; LC_TIME = "en_GB.UTF-8"; }; console.keyMap = "uk"; security.sudo.execWheelOnly = true; services.openssh = { enable = true; settings = { KbdInteractiveAuthentication = false; PasswordAuthentication = false; PermitRootLogin = "no"; }; }; services.journald.extraConfig = '' SystemMaxUse=4G MaxRetentionSec=90day ''; users.defaultUserShell = pkgs.zsh; programs.zsh = { enable = true; enableCompletion = false; }; environment.pathsToLink = [ "/share/zsh" ]; nix = { package = pkgs.nixVersions.stable; extraOptions = '' experimental-features = nix-command flakes ''; buildMachines = [ { hostName = "10.0.1.79"; sshUser = "root"; system = "aarch64-linux"; maxJobs = 6; speedFactor = 1; supportedFeatures = [ "big-parallel" "benchmark" ]; } ]; distributedBuilds = true; settings = { connect-timeout = 5; log-lines = 25; min-free = 128000000; max-free = 1000000000; fallback = true; trusted-users = [ "@wheel" ]; auto-optimise-store = true; substituters = [ "http://odyssey.mesh.vimium.net" "https://cache.nixos.org" ]; trusted-public-keys = [ "odyssey.mesh.vimium.net:ZhQhjscPWjoN4rlZwoMELznEiBnZ9O26iyGA27ibilQ=" ]; }; gc = { automatic = true; dates = "weekly"; options = "-d --delete-older-than 7d"; }; }; home-manager = { useGlobalPkgs = true; useUserPackages = true; sharedModules = [ inputs.nixvim.homeManagerModules.nixvim { home.stateVersion = config.system.stateVersion; } ]; extraSpecialArgs = { inherit inputs; }; }; environment.systemPackages = with pkgs; [ git neovim ]; }