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/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.git.enable = true; programs.terminal.enable = true; roles.personal.enable = !work; roles.mpd.enable = true; programs.editor.neovim = true; programs.editor.enable = true; } ]; }