summary refs log tree commit diff
path: root/profiles/stdenv.nix
diff options
context:
space:
mode:
Diffstat (limited to 'profiles/stdenv.nix')
-rw-r--r--profiles/stdenv.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/profiles/stdenv.nix b/profiles/stdenv.nix
new file mode 100644
index 0000000..337a306
--- /dev/null
+++ b/profiles/stdenv.nix
@@ -0,0 +1,37 @@
+{
+  pkgs,
+  lib,
+  config,
+  inputs,
+  ...
+}: {
+  imports = [];
+  config = {
+    nix.binaryCaches = [
+      "https://cache.nixos.org/"
+      "https://cache.allvm.org/"
+    ];
+
+    nix.binaryCachePublicKeys = [
+      "gravity.cs.illinois.edu-1:yymmNS/WMf0iTj2NnD0nrVV8cBOXM9ivAkEdO1Lro3U="
+    ];
+
+    nativeStdenv =
+      prev.stdenvAdapters.withCFlags ["-O3" "-pipe" "-march=native"]
+      (prev.overrideCC prev.llvmPackages_latest.stdenv
+        (prev.wrapCCWith rec {
+          cc = prev.llvmPackages_latest.clang-unwrapped;
+          bintools = final.wrapBintoolsWith {
+            coreutils = final.uutils-coreutils;
+            libc = final.musl;
+            bintools =
+              final.binutils-unwrapped.overrideAttrs
+              (old: {
+                postInstall = ''
+                  ln -sf ${final.mold}/bin/mold $out/bin/ld
+                '';
+              });
+          };
+        }));
+  };
+}