diff --git a/default.nix b/default.nix index 2b1a763..e08f87d 100644 --- a/default.nix +++ b/default.nix @@ -1,5 +1,6 @@ { - nixPkgsVersion ? "3e52e76b70d5508f3cec70b882a29199f4d1ee85" + nixPkgsVersion ? "3e52e76b70d5508f3cec70b882a29199f4d1ee85", + currentSystem }: let @@ -12,21 +13,17 @@ let rev = nixPkgsVersion; }) args; - nixpkgs = getNixPkgs {}; - system = import ./system.nix { pkgs = nixpkgs; }; + nixpkgs = getNixPkgs { system = currentSystem; }; + system = import ./system.nix { + pkgs = nixpkgs; + inherit currentSystem; + }; staticMuslPkgs = getNixPkgs system; - llvm = staticMuslPkgs.llvmPackages_16.override { stdenv = staticMuslPkgs.llvmPackages_16.libcxxClang; }; - SereneOverlay = final: prev: - { - sereneToolchain = llvm.libcxxClang; - }; + llvm = staticMuslPkgs.llvmPackages_16.override { stdenv = staticMuslPkgs.llvmPackages_16.libcxxStdenv; }; createPkgSet = _: # It has to be the nixpkgs instance - getNixPkgs (system // { overlays = [ SereneOverlay ]; }); - #pkgs = getNixPkgs nixVersion (system // { overlays = [ libcxxClangOverlay ]; }); -in { - inherit SereneOverlay createPkgSet; - # setupToolchain = nixpkgs: + getNixPkgs (system // { config.replaceStdenv = _: llvm.libcxxStdenv; }); - #pkgs.stdenv.override { stdenv = llvm.libcxxClang; }; +in { + inherit createPkgSet; } diff --git a/system.nix b/system.nix index 45a7f1d..dff53c5 100644 --- a/system.nix +++ b/system.nix @@ -1,11 +1,11 @@ -{ pkgs }: +{ pkgs, currentSystem }: let - parsedSystem = builtins.split "-" builtins.currentSystem; + parsedSystem = builtins.split "-" currentSystem; arch = builtins.head (parsedSystem); os = builtins.elemAt (parsedSystem) 2; system = pkgs.lib.systems.elaborate { - system = builtins.currentSystem; + system = currentSystem; config = "${arch}-unknown-linux-musl"; isStatic = true; useLLVM = true;