nix/lib/mkconf.nix

45 lines
974 B
Nix

name: {
nixpkgs,
inputs,
home-manager,
system,
user,
laptop ? false,
work ? false,
userName,
...
}:
nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
inherit system;
modules = [
inputs.stylix.nixosModules.stylix
({pkgs, ...}: {
stylix.image = ../images/demonslayer.png;
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
})
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${user}.imports = [
../home/.
{
options.home.userFullname = nixpkgs.lib.mkOption {default = userName;};
config.home.username = user;
}
];
}
{
imports = [
(import ../hardware/${name}.nix {inherit user;})
(import ../nixos/. user)
];
roles.work.enable = work;
roles.personal.enable = !work;
}
];
}