aboutsummaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
authorKenny Ballou <kb@devnulllabs.io>2021-09-06 12:00:37 -0600
committerKenny Ballou <kb@devnulllabs.io>2021-09-06 12:00:37 -0600
commit6833eafe14b67bd9d5daafe79d4c89bbcdc9abb2 (patch)
tree984877487ad7014bace579e3df0fd130a4739666 /nix
parent34d763fd3f57742f316f0dfece90b1eeed6372e4 (diff)
downloaddotfiles-6833eafe14b67bd9d5daafe79d4c89bbcdc9abb2.tar.gz
dotfiles-6833eafe14b67bd9d5daafe79d4c89bbcdc9abb2.tar.xz
nix: use wiki overrideFlags snippet
Signed-off-by: Kenny Ballou <kb@devnulllabs.io>
Diffstat (limited to 'nix')
-rw-r--r--nix/utils.nix18
1 files changed, 7 insertions, 11 deletions
diff --git a/nix/utils.nix b/nix/utils.nix
index 9848a785..1732554a 100644
--- a/nix/utils.nix
+++ b/nix/utils.nix
@@ -1,17 +1,13 @@
{ pkgs, ... }:
# https://stackoverflow.com/questions/42136197/how-to-override-compile-flags-for-a-single-package-in-nixos
+# https://nixos.wiki/wiki/Snippets
let
- overrideWithFlags = pkg: flags:
- pkgs.lib.overrideDerivation pkg (old:
- let
- newflags = pkgs.lib.foldl' (acc: x: "${acc} ${x}") "" flags;
- oldflags = if (pkgs.lib.hasAttr "NIX_CFLAGS_COMPILE" old)
- then "${old.NIX_CFLAGS_COMPILE}"
- else "";
- in
- {
- NIX_CFLAGS_COMPILE = "${oldflags} ${newflags}";
- });
+
+ overrideWithFlag = pkg: flag:
+ pkg.overrideAttrs (attrs: {
+ NIX_CFLAGS_COMPILE = (attrs.NIX_CFLAGS_COMPILE or "") + "${flag}";
+ });
+ overrideWithFlags = pkg: flags: pkgs.lib.foldl' (pkg: flag: overrideWithFlag pkg flag) pkg flags;
in
{
overrideWithFlags = overrideWithFlags;