diff options
| -rw-r--r-- | modules/home/suites/dev/default.nix | 1 | ||||
| -rw-r--r-- | modules/home/tools/default.nix | 3 | ||||
| -rw-r--r-- | packages/mkenv/default.nix | 21 |
3 files changed, 25 insertions, 0 deletions
diff --git a/modules/home/suites/dev/default.nix b/modules/home/suites/dev/default.nix index e1e375b..21f2aa0 100644 --- a/modules/home/suites/dev/default.nix +++ b/modules/home/suites/dev/default.nix @@ -25,6 +25,7 @@ in { tools = { cloc.enable = true; tmux.enable = true; + mkenv.enable = true; }; }; }; diff --git a/modules/home/tools/default.nix b/modules/home/tools/default.nix index 132194d..161db2b 100644 --- a/modules/home/tools/default.nix +++ b/modules/home/tools/default.nix @@ -17,5 +17,8 @@ with lib; with lib.${namespace}; { (mkSimpleTool "click" { packages = [ cxl.click ]; }) + (mkSimpleTool "mkenv" { + packages = [ cxl.mkenv ]; + }) ]; } diff --git a/packages/mkenv/default.nix b/packages/mkenv/default.nix new file mode 100644 index 0000000..1c40b3b --- /dev/null +++ b/packages/mkenv/default.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: + +pkgs.writeShellScriptBin "mkenv" '' + if [[ -f flake.nix && -f .envrc ]]; then + echo "why" + exit + fi + + if [[ -f flake.nix ]]; then + echo "flake exists, skipping" + else + nix flake init + fi + + if [[ -f .envrc ]]; then + echo "env exists, skipping" + else + echo "use flake" >> .envrc + direnv allow + fi +'' |