{ inputs , pkgs , lib , ... }: { imports = [ ./disk-configuration.nix ./hardware-configuration.nix ./impermanence-configuration.nix ./configuration ]; nixpkgs = { overlays = [ ]; config = { allowUnfree = true; }; }; nix = let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; in { settings = { # Enable flakes and new 'nix' command experimental-features = "nix-command flakes"; # Disable global registry flake-registry = ""; trusted-users = ["root" "@wheel"]; }; # Disable channels in favor of flakes channel.enable = false; # Make flake registry and nix path match flake inputs registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs; nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; }; # Relevant core programs environment.systemPackages = with pkgs; [ home-manager nix ]; # !!! DO NOT TOUCH !!! system.stateVersion = "26.05"; }