{ inputs, mkPkgs, attrs, ... }: let system = "x86_64-linux"; pkgs = mkPkgs system; defaultModules = [ ./configuration.nix inputs.sops-nix.nixosModules.sops inputs.nix-index-database.nixosModules.nix-index # inputs.determinate.nixosModules.default # https://github.com/serokell/deploy-rs/issues/340 ] ++ builtins.attrValues ( builtins.mapAttrs (name: _: ./modules/${name}) (builtins.readDir ./modules) ); in { t14 = inputs.nixpkgs.lib.nixosSystem { inherit pkgs; specialArgs = { inherit inputs system attrs; host = { hostName = "t14"; inherit (attrs) username; }; }; modules = defaultModules ++ [ ./t14/configuration.nix inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 ]; }; consensus = inputs.nixpkgs-stable.lib.nixosSystem { pkgs = pkgs.nixos-stable; specialArgs = { pkgs-unstable = mkPkgs system; inherit inputs system attrs; host = { hostName = "consensus"; inherit (attrs) username; }; }; modules = defaultModules ++ [ ./consensus/configuration.nix ]; }; zen = inputs.nixpkgs-stable.lib.nixosSystem { pkgs = pkgs.nixos-stable; specialArgs = { inherit inputs system attrs; host = { hostName = "zen"; inherit (attrs) username; }; }; modules = defaultModules ++ [ ./zen/configuration.nix ]; }; oracle1 = inputs.nixpkgs-stable.lib.nixosSystem { pkgs = pkgs.nixos-stable; specialArgs = { inherit inputs system attrs; host = { hostName = "oracle1"; inherit (attrs) username; }; }; modules = defaultModules ++ [ ./oracle/configuration.nix ]; }; }