diff options
author | Kenny Ballou <kballou@devnulllabs.io> | 2020-10-14 10:05:44 -0600 |
---|---|---|
committer | Kenny Ballou <kballou@devnulllabs.io> | 2020-12-15 14:04:46 -0700 |
commit | 418ec7b94aa8202e5f5f0a59f2bb97a7c0510068 (patch) | |
tree | 0a08e1653ba5d8efc527bbaf4e5914ffb9c8b6b9 /nix/utils.nix | |
parent | 164cd37871e6235584ce23f3a0bf516a51b31489 (diff) | |
download | dotfiles-418ec7b94aa8202e5f5f0a59f2bb97a7c0510068.tar.gz dotfiles-418ec7b94aa8202e5f5f0a59f2bb97a7c0510068.tar.xz |
dots: now for something completely different
Use home-manager to configure user packages, dotfiles, and various other
configurations.
Add home-manager configuration for installing and managing user packages
and profiles. Convert nearly all configuration to use home-manager to
install and link configuration files.
In no particular order of reference, I've used and/or referenced the
following configurations and posts for this homeification: [[0], [1],
[2], [3], [4], [5], [6], [7], [8], [9], [10]].
[0]: https://gitlab.com/NobbZ/nix-home-manager-dotfiles
[1]: https://www.malloc47.com/migrating-to-nixos/
[2]: https://lucperkins.dev/blog/home-manager/
[3]: https://github.com/jwiegley/nix-config
[4]: https://www.thedroneely.com/posts/declarative-user-package-management-in-nixos/
[5]: https://hugoreeves.com/posts/2019/nix-home/
[6]: https://rycee.gitlab.io/home-manager/
[7]: https://rycee.net/posts/2017-07-02-manage-your-home-with-nix.html
[8]: https://github.com/abcdw/rde
[9]: https://github.com/ryantm/dotfiles
[10]: https://git.sr.ht/~vdemeester/home
Signed-off-by: Kenny Ballou <kballou@devnulllabs.io>
Diffstat (limited to 'nix/utils.nix')
-rw-r--r-- | nix/utils.nix | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/nix/utils.nix b/nix/utils.nix new file mode 100644 index 00000000..9848a785 --- /dev/null +++ b/nix/utils.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: +# https://stackoverflow.com/questions/42136197/how-to-override-compile-flags-for-a-single-package-in-nixos +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}"; + }); +in +{ + overrideWithFlags = overrideWithFlags; + optimizeForThisHost = pkg: + overrideWithFlags pkg [ "-O3" "-march=native" "-fPIC" ]; + + withDebugSymbols = pkg: + overrideWithFlags pkg [ "-DDEBUG" ]; + + importDirs = path: with builtins; + map (n: import (path + ("/" + n))) + (filter (n: match ".*\\.nix" n != null || + pathExists (path + ("/" + n + "/default.nix"))) + (attrNames (readDir path))); +} |