nix/lib/mkconf.nix
2024-01-05 21:03:25 +00:00

54 lines
1.3 KiB
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;
}
{
imports = [
(import ./modules/gamer.nix {inherit user;})
(import ./modules/keyboard.nix {inherit user;})
(import ./modules/display.nix {inherit user;})
(import ./modules/work.nix {inherit user;})
(import ./modules/laptop.nix {inherit user;})
(import ./modules/personal.nix {inherit user;})
(import ./programs/hyprland.nix {inherit user;})
(import ../hardware/${name}.nix {inherit user;})
(import ../global/system.nix user)
];
home-manager.users.${user}.imports = [
../global/home/.
{
options.home.userFullname = nixpkgs.lib.mkOption { default = userName; };
}
];
roles.work.enable = work;
roles.personal.enable = !work;
}
];
}