{ nixpkgs, home-manager, lanzaboote, impermanence, stylix, sops-nix, agenix, ... } @ attrs: let defaultModules = [ impermanence.nixosModules.impermanence lanzaboote.nixosModules.lanzaboote home-manager.nixosModules.home-manager stylix.nixosModules.stylix sops-nix.nixosModules.sops agenix.nixosModules.default { home-manager = { backupFileExtension = "backup"; useGlobalPkgs = true; useUserPackages = true; users.sils = import ../../hm/sils; extraSpecialArgs = attrs; }; } ]; mkNixosHost = system: file: nixpkgs.lib.nixosSystem { inherit system; specialArgs = attrs; modules = [ (import ../../modules/nixos) (import ../../sys) (import ../../secrets) (import file) {home-manager.extraSpecialArgs = attrs;} ] ++ defaultModules; }; in { #thinklappi = nixpkgs.lib.nixosSystem { # system = "x86_64-linux"; # specialArgs = attrs; # modules = # [ # ../../hosts/thinklappi # ] # ++ defaultModules; #}; thinklappi = mkNixosHost "x86_64-linux" ../../hosts/thinklappi.nix; schrotti = mkNixosHost "x86_64-linux" ../../hosts/schrotti.nix; thinklappi-bootstrap = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = attrs; modules = [ ../../hosts/thinklappi-bootstrap lanzaboote.nixosModules.lanzaboote ]; }; }