diff options
| author | Arpit Chakladar <arpitchakladar@proton.me> | 2026-04-24 01:48:30 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@proton.me> | 2026-04-24 01:48:30 +0530 |
| commit | 3e232a2bc7f5c8ea33804be1ea071a91c5f98055 (patch) | |
| tree | f772b5d7d393cacf708d845acb75b55c12d3e625 /modules/programs/devenv | |
| parent | 606716e0a4b8cbeb9076fb88b6b92664a5a24081 (diff) | |
| download | home-manager-config-3e232a2bc7f5c8ea33804be1ea071a91c5f98055.tar.gz home-manager-config-3e232a2bc7f5c8ea33804be1ea071a91c5f98055.zip | |
replacing tools with programs to be more consistent with config options
Diffstat (limited to 'modules/programs/devenv')
| -rw-r--r-- | modules/programs/devenv/alias.sh | 28 | ||||
| -rw-r--r-- | modules/programs/devenv/default.nix | 26 |
2 files changed, 54 insertions, 0 deletions
diff --git a/modules/programs/devenv/alias.sh b/modules/programs/devenv/alias.sh new file mode 100644 index 0000000..e63dbd8 --- /dev/null +++ b/modules/programs/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/programs/devenv/default.nix b/modules/programs/devenv/default.nix new file mode 100644 index 0000000..633fd0d --- /dev/null +++ b/modules/programs/devenv/default.nix @@ -0,0 +1,26 @@ +{ + config, + pkgs, + lib, + ... +}: + +# Devenv - Developer environment tooling (Nix-based dev environments) +{ + options.programs.devenv = { + enable = lib.mkEnableOption "Enables devenv."; + }; + + config = + let + shellIntegration = builtins.readFile ./alias.sh; + in + lib.mkIf config.programs.devenv.enable { + home.packages = with pkgs; [ + devenv + ]; + + programs.zsh.initContent = lib.mkIf config.programs.zsh.enable (lib.mkAfter shellIntegration); + programs.bash.initExtra = lib.mkIf config.programs.bash.enable (lib.mkAfter shellIntegration); + }; +} |
