{ inputs, lib, hostName, userName, flakeDir, plfrm, stVer, dev, ... }: { flake = let # INPUTS PKGS inherit (inputs.nixpkgsStable) nixpkgsStable; inherit (inputs.nixpkgsMaster) nixpkgsMaster; # OTHER inherit (inputs.nixpkgs.lib) nixosSystem; inherit (inputs.home-manager.lib) homeManagerConfiguration; # PKGS pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux; pkgsS = nixpkgsStable.legacyPackages.x86_64-linux; pkgsM = nixpkgsMaster.legacyPackages.x86_64-linux; # NEEDS sec = import ./secrets.nix; x = import ./options.nix { inherit lib; } // { inherit hostName userName flakeDir plfrm stVer dev sec; }; # ARGS args = { inherit x inputs pkgsS pkgsM; }; in { # CONFIGURATION nixosConfigurations.${hostName} = nixosSystem { modules = [ ../${hostName}/host ]; specialArgs = args; }; homeConfigurations.${userName} = homeManagerConfiguration { modules = [ ../${hostName}/home ]; extraSpecialArgs = args; inherit pkgs; }; }; }