From 287c3f1989aca0fc00eb52bf663d9fb7d8112ef9 Mon Sep 17 00:00:00 2001 From: Caroline Larimore Date: Fri, 16 May 2025 17:21:43 -0700 Subject: dev: create direnv init script --- modules/home/suites/dev/default.nix | 1 + modules/home/tools/default.nix | 3 +++ packages/mkenv/default.nix | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 packages/mkenv/default.nix 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 +'' -- cgit v1.2.3