From 7fd816ba89cb4d924d89b2f7e07028644dce0c7f Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Thu, 17 Mar 2022 17:53:52 -0600 Subject: home: add shenv gc root --- .gitignore | 2 -- home/default.nix | 4 ++++ pkgs/default.nix | 5 ++++- shenvs/android-dev.nix | 6 ++++++ shenvs/config.nix | 8 ++++++++ shenvs/dsp.nix | 5 +++++ shenvs/el3310.nix | 6 ++++++ shenvs/randall.nix | 8 ++++++++ util/importAll.nix | 6 ++++-- 9 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 shenvs/android-dev.nix create mode 100644 shenvs/config.nix create mode 100644 shenvs/dsp.nix create mode 100644 shenvs/el3310.nix create mode 100644 shenvs/randall.nix diff --git a/.gitignore b/.gitignore index e6aa42b..58fb194 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ !**/.keep - -shenvs/** diff --git a/home/default.nix b/home/default.nix index dcd7cb3..70bc03f 100644 --- a/home/default.nix +++ b/home/default.nix @@ -37,6 +37,10 @@ "vtmp" = symlink "/run/user/1000/vtmp"; ".calc_history" = devNull; ".units_history" = devNull; + + ".shenvs".text = let + keeps = { gcKeep ? [] }: map (p: "# ${p}\n") gcKeep; + in keeps (import ../shenvs/config.nix pkgs.local.shenvs); }; packages = import ./path.nix pkgs; diff --git a/pkgs/default.nix b/pkgs/default.nix index f8cda14..35cf2bf 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -3,7 +3,10 @@ in { shenvs = let env = name: env: pkgs.buildEnv (env pkgs // { name = "shenv-${name}"; }); - in pkgs.lib.mapAttrs env (util.importAll { root = ../shenvs; }); + in pkgs.lib.mapAttrs env (util.importAll { + root = ../shenvs; + exclude = [ "config" ]; + }); git-aliases = callPackage ./git-aliases.nix {}; scripts = callPackage ./scripts {}; diff --git a/shenvs/android-dev.nix b/shenvs/android-dev.nix new file mode 100644 index 0000000..5bf29eb --- /dev/null +++ b/shenvs/android-dev.nix @@ -0,0 +1,6 @@ +pkgs: { + paths = with pkgs; [ + android-tools + gradle + ]; +} diff --git a/shenvs/config.nix b/shenvs/config.nix new file mode 100644 index 0000000..caf4b18 --- /dev/null +++ b/shenvs/config.nix @@ -0,0 +1,8 @@ +shenvs: { + gcKeep = with shenvs; [ + android-dev + dsp + el3310 + randall + ]; +} diff --git a/shenvs/dsp.nix b/shenvs/dsp.nix new file mode 100644 index 0000000..d5828e3 --- /dev/null +++ b/shenvs/dsp.nix @@ -0,0 +1,5 @@ +pkgs: { + paths = with pkgs; [ + octave + ]; +} diff --git a/shenvs/el3310.nix b/shenvs/el3310.nix new file mode 100644 index 0000000..c680721 --- /dev/null +++ b/shenvs/el3310.nix @@ -0,0 +1,6 @@ +pkgs: { + paths = with pkgs; [ + gcc-arm-embedded + + ]; +} diff --git a/shenvs/randall.nix b/shenvs/randall.nix new file mode 100644 index 0000000..dd628bc --- /dev/null +++ b/shenvs/randall.nix @@ -0,0 +1,8 @@ +pkgs: { + paths = with pkgs; [ + ghostscript + imagemagick + paps + pdftk + ]; +} diff --git a/util/importAll.nix b/util/importAll.nix index c4a092e..678cf06 100644 --- a/util/importAll.nix +++ b/util/importAll.nix @@ -4,11 +4,13 @@ with builtins; with lib; # http://chriswarbo.net/projects/nixos/useful_hacks.html let + basename = removeSuffix ".nix"; + isMatch = name: type: (hasSuffix ".nix" name || type == "directory") - && ! elem name exclude; + && ! elem name (map basename exclude); entry = name: _: { - name = removeSuffix ".nix" name; + name = basename name; value = import (root + "/${name}"); }; in -- cgit v1.2.3