diff options
| author | Alejandro Soto <alejandro@34project.org> | 2022-03-19 16:56:48 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2022-03-19 16:56:48 -0600 |
| commit | 7793b7d8af601353e236252922abe84c5e9b79d0 (patch) | |
| tree | fddecadbe93657cf5a1f8049895d321ed5ca0ff3 /pkgs/default.nix | |
| parent | 1bf3639c5154701b264ca3f95b42c928dd11e345 (diff) | |
home: improve shenv infra
Diffstat (limited to '')
| -rw-r--r-- | pkgs/default.nix | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/pkgs/default.nix b/pkgs/default.nix index 35cf2bf..5ee0a63 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,9 +1,14 @@ -{ pkgs, util }: let - inherit (pkgs) callPackage; +{ pkgs, util }: +with pkgs.lib; let + inherit (pkgs) buildEnv callPackage writeTextDir; in { shenvs = let - env = name: env: pkgs.buildEnv (env pkgs // { name = "shenv-${name}"; }); - in pkgs.lib.mapAttrs env (util.importAll { + build = name: { paths, enter ? null }: buildEnv { + name = "shenv-${name}"; + paths = (optional (enter != null) (writeTextDir "lib/shenv/enter" enter)) + ++ paths; + }; + in pkgs.lib.mapAttrs (name: shenv: build name (shenv pkgs)) (util.importAll { root = ../shenvs; exclude = [ "config" ]; }); |
