diff --git a/devices/jykang.xmuhpc/default.nix b/devices/jykang.xmuhpc/default.nix index d6e15465..d50a1d22 100644 --- a/devices/jykang.xmuhpc/default.nix +++ b/devices/jykang.xmuhpc/default.nix @@ -5,7 +5,7 @@ let pkgs = import inputs.nixpkgs (localLib.buildNixpkgsConfig { inputs = { inherit (inputs.nixpkgs) lib; topInputs = inputs; }; - nixpkgs = { march = "haswell"; nixRoot = "/data/gpfs01/jykang/.nix"; nixos = false; }; + nixpkgs = { march = "haswell"; cuda = null; nixRoot = "/data/gpfs01/jykang/.nix"; nixos = false; }; }); in pkgs.symlinkJoin { diff --git a/devices/pc/default.nix b/devices/pc/default.nix index 4de590a8..afacc2ab 100644 --- a/devices/pc/default.nix +++ b/devices/pc/default.nix @@ -28,7 +28,7 @@ inputs: # SERIALIZE SGX WAITPKG WIDEKL XSAVE XSAVEOPT "alderlake" ]; - nixpkgs = { march = "znver5"; rocm = true; }; + nixpkgs.march = "znver4"; sysctl.laptop-mode = 5; }; hardware.gpu.type = "amd"; diff --git a/devices/xmuhk/default.nix b/devices/xmuhk/default.nix index 1b8ff9f6..dbe1d475 100644 --- a/devices/xmuhk/default.nix +++ b/devices/xmuhk/default.nix @@ -3,7 +3,7 @@ let pkgs = import inputs.nixpkgs (localLib.buildNixpkgsConfig { inputs = { inherit (inputs.nixpkgs) lib; topInputs = inputs; }; - nixpkgs = { march = null; nixRoot = "/public/home/xmuhk/.nix"; nixos = false; }; + nixpkgs = { march = null; cuda = null; nixRoot = "/public/home/xmuhk/.nix"; nixos = false; }; }); lumericalLicenseManager = let diff --git a/flake/lib/buildNixpkgsConfig/default.nix b/flake/lib/buildNixpkgsConfig/default.nix index 38a49759..c1859c13 100644 --- a/flake/lib/buildNixpkgsConfig/default.nix +++ b/flake/lib/buildNixpkgsConfig/default.nix @@ -1,4 +1,4 @@ -# inputs = { lib, topInputs, ...}; nixpkgs = { march, cuda, nixRoot, nixos, arch, rocm }; +# inputs = { lib, topInputs, ...}; nixpkgs = { march, cuda, nixRoot, nixos, arch }; { inputs, nixpkgs }: let platformConfig = @@ -8,7 +8,7 @@ let ${if nixpkgs.nixos then "hostPlatform" else "localSystem"} = { system = "${nixpkgs.arch or "x86_64"}-linux"; gcc = { arch = nixpkgs.march; tune = nixpkgs.march; }; }; }; - cudaConfig = inputs.lib.optionalAttrs (nixpkgs.cuda or null != null) + cudaConfig = inputs.lib.optionalAttrs (nixpkgs.cuda != null) ( { cudaSupport = true; } // (inputs.lib.optionalAttrs (nixpkgs.cuda.capabilities != null) @@ -16,9 +16,8 @@ let // (inputs.lib.optionalAttrs (nixpkgs.cuda.forwardCompat != null) { cudaForwardCompat = nixpkgs.cuda.forwardCompat; }) ); - rocmConfig = inputs.lib.optionalAttrs (nixpkgs.rocm or false) { rocmSupport = true; }; allowInsecurePredicate = p: inputs.lib.warn "Allowing insecure package ${p.name or "${p.pname}-${p.version}"}" true; - config = cudaConfig // rocmConfig + config = cudaConfig // { inherit allowInsecurePredicate; allowUnfree = true; @@ -31,7 +30,7 @@ let nvhpcArch = nixpkgs.march; # contentAddressedByDefault = true; }) - // (inputs.lib.optionalAttrs (nixpkgs.nixRoot or null != null) + // (inputs.lib.optionalAttrs (nixpkgs.nixRoot != null) { nix = { storeDir = "${nixpkgs.nixRoot}/store"; stateDir = "${nixpkgs.nixRoot}/state"; }; }); in platformConfig // { diff --git a/flake/packages.nix b/flake/packages.nix index e8292857..56de7eec 100644 --- a/flake/packages.nix +++ b/flake/packages.nix @@ -3,7 +3,7 @@ pkgs = import inputs.nixpkgs (localLib.buildNixpkgsConfig { inputs = { inherit (inputs.nixpkgs) lib; topInputs = inputs; }; - nixpkgs = { march = null; nixos = false; }; + nixpkgs = { march = null; cuda = null; nixRoot = null; nixos = false; }; }); hpcstat = let diff --git a/modules/system/nixpkgs.nix b/modules/system/nixpkgs.nix index c256fe23..adda0699 100644 --- a/modules/system/nixpkgs.nix +++ b/modules/system/nixpkgs.nix @@ -12,14 +12,13 @@ inputs: };}); default = null; }; - rocm = mkOption { type = types.bool; default = false; }; }; config = let inherit (inputs.config.nixos.system) nixpkgs; in { nixpkgs = inputs.localLib.buildNixpkgsConfig { inherit inputs; - nixpkgs = nixpkgs // { nixos = true; inherit (inputs.config.nixos.model) arch; }; + nixpkgs = nixpkgs // { nixRoot = null; nixos = true; inherit (inputs.config.nixos.model) arch; }; }; boot.kernelPatches = inputs.lib.mkIf (nixpkgs.march != null) [{