{ nixPkgsVersion ? "3e52e76b70d5508f3cec70b882a29199f4d1ee85" }: let getNixPkgs = args: import (builtins.fetchGit { name = "nixpkg-serene-${nixPkgsVersion}"; url = "https://github.com/nixos/nixpkgs/"; # Commit hash for nixos-unstable as of 2018-09-12 # `git ls-remote https://github.com/nixos/nixpkgs nixos-unstable` ref = "refs/heads/nixos-unstable"; rev = nixPkgsVersion; }) args; nixpkgs = getNixPkgs {}; system = import ./system.nix { pkgs = nixpkgs; }; staticMuslPkgs = getNixPkgs system; llvm = staticMuslPkgs.llvmPackages_16.override { stdenv = staticMuslPkgs.llvmPackages_16.libcxxClang; }; SereneOverlay = final: prev: { sereneToolchain = llvm.libcxxClang; }; createPkgSet = _: # It has to be the nixpkgs instance getNixPkgs (system // { overlays = [ SereneOverlay ]; }); #pkgs = getNixPkgs nixVersion (system // { overlays = [ libcxxClangOverlay ]; }); in { inherit SereneOverlay createPkgSet; # setupToolchain = nixpkgs: #pkgs.stdenv.override { stdenv = llvm.libcxxClang; }; }