inputs: simple-pkgs: hyper: let args = { system = hyper.system; config = { allowUnfreePredicate = (import ./allowed.nix simple-pkgs).predicate; cudaSupport = hyper.nvidia.enable; cudaForwardCompat = hyper.nvidia.enable; }; }; overlays = [(final: prev: { unstable = import inputs.nixpkgs-unstable args; latest = import inputs.nixpkgs-latest args; pkgs-version = hyper.main-pkgs-version; })] ++ (if hyper.isServer then [ inputs.copyparty.overlays.default ] else []); in if !hyper.isNOD then (import inputs.nixpkgs (args // { inherit overlays; })) else ( (import inputs.nixpkgs (args // { inherit overlays; })) // # normal as base (import inputs.nixpkgs24 (args // { # overwrite with old versions overlays = [(final: prev: { pkgs-version = "24.05"; })]; })) )