dotfiles/nixos/nix.nix

45 lines
991 B
Nix

{ inputs, specialArgs, config, lib, ... }:
{
imports = [
inputs.home-manager.nixosModule
];
options = {
imalison.nixOverlay.enable = lib.mkOption {
default = true;
type = lib.types.bool;
};
};
config = {
home-manager.extraSpecialArgs = {
nixos = {
inherit specialArgs config;
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
nix = {
extraOptions = ''
experimental-features = nix-command flakes
'';
registry.nixpkgs.flake = inputs.nixpkgs;
settings = {
keep-outputs = true;
keep-derivations = true;
};
channel.enable = false;
nixPath = [
"nixpkgs=${inputs.nixpkgs.outPath}"
];
};
nixpkgs.overlays = [
(import ./overlay.nix)
] ++ (if config.imalison.nixOverlay.enable then [ inputs.nix.overlays.default ] else []);
# Allow all the things
nixpkgs.config.allowUnfree = true;
};
}