{ self, nixpkgs, home-manager, prismlauncher, lanzaboote, nixvim, impermanence, wl-togglescreens, sops-nix, flake-utils, agenix, ragenix, } @ attrs: let defaultModules = [ impermanence.nixosModules.impermanence lanzaboote.nixosModules.lanzaboote home-manager.nixosModules.home-manager sops-nix.nixosModules.sops agenix.nixosModules.default { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.sils = import ../../users/sils; extraSpecialArgs = attrs; }; } ]; nixosConfig = { hostname, mainDisk, rootPart, bootPart, system ? "x86_64-linux", } @ conf: nixpkgs.lib.nixosSystem { inherit system; specialArgs = attrs // conf; modules = [ (import ../../modules/nixos) (import ../../sys) (import ../../secrets) (import ./basesystem.nix) (import ../../hosts/${hostname}.nix) {home-manager.extraSpecialArgs = attrs // conf;} ] ++ defaultModules; }; in { #thinklappi = nixpkgs.lib.nixosSystem { # system = "x86_64-linux"; # specialArgs = attrs; # modules = # [ # ../../hosts/thinklappi # ] # ++ defaultModules; #}; thinklappi = nixosConfig { hostname = "thinklappi"; rootPart = "/dev/disk/by-uuid/6700d662-29a9-4ea5-8ca6-85d42550b3ab"; mainDisk = "/dev/disk/by-uuid/68da1329-f5ea-4f2c-a38e-faffaaaa6b5a"; bootPart = "/dev/disk/by-uuid/4064-2D6C"; system = "x86_64-linux"; }; thinklappi-bootstrap = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = attrs; modules = [ ../../hosts/thinklappi-bootstrap lanzaboote.nixosModules.lanzaboote ]; }; }