diff options
| -rw-r--r-- | flake.nix | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/flake.nix b/flake.nix index 9520807..9a9b9f8 100644 --- a/flake.nix +++ b/flake.nix @@ -55,6 +55,30 @@ }; }; + minimal-compile-flags = " -mno-xsave -mno-xsaveopt -mno-xsavec -mno-xsaves -mno-avx" + + " -mno-avx2 -mno-avx512f"; + musl-minimal-pkgs = import nixpkgs { + inherit system; + crossSystem = { + config = "${system}-musl"; + }; + overlays = [ + (final: prev: { + stdenv = prev.stdenv.override (old: { + cc = if old.cc != null then old.cc.overrideAttrs (ccOld: { + env = let + oldEnv = ccOld.env or {}; + oldFlags = oldEnv.NIX_CFLAGS_COMPILE or ""; + in + oldEnv // { + NIX_CFLAGS_COMPILE = oldFlags + minimal-compile-flags; + }; + }) else null; + }); + }) + ]; + }; + # Pin Python version python = pkgs.python312; @@ -255,14 +279,8 @@ src = ./rr; }); - redis-flags = " -mno-xsave -mno-xsaveopt -mno-xsavec -mno-xsaves -mno-avx" + - " -mno-avx2 -mno-avx512f"; - musl-redis-nocheck = musl-pkgs.pkgsStatic.redis.overrideAttrs (old: rec { + musl-minimal-redis-nocheck = musl-minimal-pkgs.pkgsStatic.redis.overrideAttrs (old: { doCheck = false; - env = (old.env or {}) // { - NIX_CFLAGS_COMPILE = (old.env.NIX_CFLAGS_COMPILE or "") + redis-flags; - }; - makeFlags = (old.makeFlags or []) ++ [ "CFLAGS=${env.NIX_CFLAGS_COMPILE}" ]; }); in rec { # Default package just builds Focaccia @@ -418,7 +436,7 @@ pkgs.capnproto musl-pkgs.gcc musl-pkgs.pkg-config - musl-redis-nocheck + musl-minimal-redis-nocheck ]; hardeningDisable = [ "pie" ]; |