self: # MARK: inputs ( let inputsWithPackages = import self.inputsPath { pkgs = self.packagesForSystem builtins.currentSystem; }; in { "inputs/nixpkgs" = inputsWithPackages.nixpkgs; "inputs/nixpkgs-unstable" = inputsWithPackages.nixpkgs-unstable; "inputs/cosmic-modules" = inputsWithPackages.cosmic-modules; "inputs/nixos-vscode-server" = inputsWithPackages.nixos-vscode-server; }) # MARK: NixOS modules // ( let pkgs = self.modifiedNixpkgsPure { localSystem = builtins.currentSystem; config.allowUnfree = true; }; lib = pkgs.lib; mkUpdater = path: attrpath: extraModule: let system = pkgs.nixos { imports = [ path extraModule ]; config = { _module.args = { inherit self; inherit (self) inputs; }; system.stateVersion = lib.versions.pad 2 lib.trivial.verison; }; }; in lib.getAttrFromPath ( [ "config" ] ++ attrpath ) system; in { "NixOS/nvidia" = mkUpdater ./nix-os/nvidia.nix [ "hardware" "nvidia" "package" ] {}; })