From 01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Wed, 15 Jul 2026 20:02:29 +0530 Subject: refactor: organized the modules into better categories Instead of lumping everything in modules/programs we are separating them into separate directories in modules/ --- modules/terminal/zsh/default.nix | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 modules/terminal/zsh/default.nix (limited to 'modules/terminal/zsh/default.nix') diff --git a/modules/terminal/zsh/default.nix b/modules/terminal/zsh/default.nix new file mode 100644 index 0000000..f3bdbb1 --- /dev/null +++ b/modules/terminal/zsh/default.nix @@ -0,0 +1,38 @@ +{ + config, + lib, + pkgs, + ... +}: + +# Zsh - Z shell, extended bash with additional features and plugins +{ + config = + let + nixCommandWrappers = builtins.readFile ./nix-aliases.sh; + in + lib.mkIf config.programs.zsh.enable { + programs.zsh = { + package = pkgs.zsh; + dotDir = "${config.xdg.configHome}/zsh"; + history.path = "${config.xdg.cacheHome}/zsh/history"; + enableCompletion = true; + initContent = '' + setopt PROMPT_SUBST + + autoload -U colors && colors + + export GPG_TTY="$(tty)" + gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1 + + bindkey "^[[3~" delete-char + bindkey "^?" backward-delete-char + ${nixCommandWrappers} + ''; + }; + + programs.bash.initExtra = lib.mkIf config.programs.bash.enable (lib.mkAfter nixCommandWrappers); + + home.sessionVariables.SHELL = "${lib.getExe config.programs.zsh.package}"; + }; +} -- cgit v1.2.3