nix/lib/mkconf.nix

58 lines
1.7 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/terminal.nix {inherit user;})
(import ./modules/scripts.nix {inherit user;})
(import ./modules/editor.nix {inherit user;})
(import ./modules/keyboard.nix {inherit user;})
(import ./modules/display.nix {inherit user;})
(import ./modules/work.nix {inherit user;})
(import ./modules/menu.nix {inherit user;})
(import ./modules/email.nix {inherit user userName;})
(import ./modules/mpd.nix {inherit user;})
(import ./modules/git.nix {inherit user userName;})
(import ./modules/laptop.nix {inherit user;})
(import ./modules/dev.nix {inherit user;})
(import ./modules/personal.nix {inherit user;})
(import ./modules/gamer.nix {inherit user;})
(import ./programs/hyprland.nix {inherit user;})
(import ../hardware/${name}.nix {inherit user;})
./scripts.nix
(import ../global/system.nix user)
];
programs.menu.enable = true;
roles.work.enable = work;
roles.personal.enable = !work;
roles.mpd.enable = true;
programs.editor.neovim = true;
}
];
}