aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaroline Larimore <caroline@larimo.re>2025-05-16 17:21:43 -0700
committerCaroline Larimore <caroline@larimo.re>2025-05-16 17:21:43 -0700
commit287c3f1989aca0fc00eb52bf663d9fb7d8112ef9 (patch)
treee06e2c080151f9e910a34454e1009476b6f8bb68
parent5264ba4eedd88ab68bd67c482bbe4398ad9385b5 (diff)
dev: create direnv init script
-rw-r--r--modules/home/suites/dev/default.nix1
-rw-r--r--modules/home/tools/default.nix3
-rw-r--r--packages/mkenv/default.nix21
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
+''