diff options
| author | Caroline Larimore <caroline@larimo.re> | 2025-05-16 17:21:43 -0700 |
|---|---|---|
| committer | Caroline Larimore <caroline@larimo.re> | 2025-05-16 17:21:43 -0700 |
| commit | 287c3f1989aca0fc00eb52bf663d9fb7d8112ef9 (patch) | |
| tree | e06e2c080151f9e910a34454e1009476b6f8bb68 | |
| parent | 5264ba4eedd88ab68bd67c482bbe4398ad9385b5 (diff) | |
dev: create direnv init script
| -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 +'' |