aboutsummaryrefslogtreecommitdiffstats
path: root/modules/tools/devenv
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@proton.me>2026-03-12 19:48:47 +0530
committerArpit Chakladar <arpitchakladar@proton.me>2026-03-12 19:48:47 +0530
commit532107493512bb56581df1c60166830e44bd5076 (patch)
tree3907b9ba9c58ba1c16703d367fb98c12f22a551b /modules/tools/devenv
parent798ed8b954ffa3bad66b23628b381a033a8bb0aa (diff)
downloadhome-manager-config-532107493512bb56581df1c60166830e44bd5076.tar.gz
home-manager-config-532107493512bb56581df1c60166830e44bd5076.zip
Added wrapper functions for devenv shell, nix-shell and nix develop commands that starts the environment in zsh automatically
Diffstat (limited to 'modules/tools/devenv')
-rw-r--r--modules/tools/devenv/alias.sh28
-rw-r--r--modules/tools/devenv/default.nix14
2 files changed, 29 insertions, 13 deletions
diff --git a/modules/tools/devenv/alias.sh b/modules/tools/devenv/alias.sh
new file mode 100644
index 0000000..e63dbd8
--- /dev/null
+++ b/modules/tools/devenv/alias.sh
@@ -0,0 +1,28 @@
+devenv() {
+ local has_reload=false
+ local is_shell=false
+
+ for arg in "$@"; do
+ if [[ "$arg" == "--reload" || "$arg" == "--no-reload" ]]; then
+ has_reload=true
+ fi
+ if [[ "$arg" == "shell" ]]; then
+ is_shell=true
+ fi
+ done
+
+ if [[ "$is_shell" == true ]]; then
+ if [[ "$has_reload" == true ]]; then
+ command devenv "$@" "$SHELL"
+ else
+ command devenv "$@" --no-reload "$SHELL"
+ fi
+ return
+ fi
+
+ if [[ "$has_reload" == true ]]; then
+ command devenv "$@"
+ else
+ command devenv "$@" --no-reload
+ fi
+}
diff --git a/modules/tools/devenv/default.nix b/modules/tools/devenv/default.nix
index 56574b7..ddb7716 100644
--- a/modules/tools/devenv/default.nix
+++ b/modules/tools/devenv/default.nix
@@ -6,19 +6,7 @@
};
config = let
- # Use --no-reload by default for devenv shell
- shellIntegration = ''
-devenv() {
- for arg in "$@"; do
- if [[ "$arg" == "--reload" || "$arg" == "--no-reload" ]]; then
- command devenv "$@"
- return
- fi
- done
-
- command devenv "$@" --no-reload
-}
-'';
+ shellIntegration = builtins.readFile ./alias.sh;
in lib.mkIf config.tools.devenv.enable {
home.packages = with pkgs; [
devenv