53 lines
1,014 B
Nix
Executable file
53 lines
1,014 B
Nix
Executable file
{ 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";
|
|
}
|