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; } ]; }