{ inputs, outputs, stateVersion, ... }: { # Helper function for generating home-manager configs mkHome = { hostname, username, desktop ? null, platform ? "x86_64-linux" }: inputs.home-manager.lib.homeManagerConfiguration { # pkgs = inputs.nixpkgs.legacyPackages.${platform}; extraSpecialArgs = { inherit inputs outputs desktop hostname platform username hmStateVersion; }; modules = [ ../home-manager ]; }; # Helper function for generating host configs mkHost = { hostname, username, desktop ? null, installer ? null }: inputs.nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs desktop hostname username stateVersion; }; modules = [ ../nixos sops-nix.nixosModules.sops # Handle secrets lanzaboote.nixosModules.lanzaboote # SecureBoot Configuration nur.nixosModules.nur # NixOS User Repository ] ++ (inputs.nixpkgs.lib.optionals (installer != null) [ installer ]); }; forAllSystems = inputs.nixpkgs.lib.genAttrs [ "aarch64-linux" "i686-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ]; }