{ config, lib, pkgs, imports, modulesPath, ... }: with lib; { # NOTE # Some 'global' areas have defaults set in their respective modules. # These will be applied when the modules are loaded # Not the global role. # Not sure at this point a good way to manage globals in one place # without mono-repo config. # Generated by nixos-config-generate imports = [ (modulesPath + "/installer/scan/not-detected.nix") ./global/nix.nix ]; mySystem = { # basics for all devices time.timeZone = "Australia/Melbourne"; security.increaseWheelLoginLimits = true; }; i18n = { defaultLocale = lib.mkDefault "en_AU.UTF-8"; }; # TODO refactor this shit out wow # SOPS settings # https://github.com/Mic92/sops-nix sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; nixpkgs = { # Configure your nixpkgs instance config = { # Disable if you don't want unfree packages allowUnfree = true; }; }; system = { # Enable printing changes on nix build etc with nvd activationScripts.report-changes = '' PATH=$PATH:${lib.makeBinPath [ pkgs.nvd pkgs.nix ]} nvd diff $(ls -dv /nix/var/nix/profiles/system-*-link | tail -2) ''; # Do not change unless you know what you are doing stateVersion = "23.11"; # THERE BE DRAGONS }; networking.useDHCP = lib.mkDefault true; environment.systemPackages = with pkgs; [ jq yq btop vim git dnsutils nix # TODO Move nil nixpkgs-fmt statix nvd gh ]; programs.direnv = { # TODO move to home-manager enable = true; nix-direnv.enable = true; }; programs.mtr.enable = true; }