summaryrefslogtreecommitdiff
path: root/home/zsh/default.nix
blob: 284812b53d758b4f9a6617e31b0bd5099269d5f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{config, ...}: {
  imports = [
    ./plugins.nix
    ./editing.nix
    ./watch-while.nix
  ];

  programs.zsh = {
    enable = true;

    # Feeble attempt at cleaning up home directory.
    # TODO: dotDir = (pathRelativeTo config.xdg.configHome config.home) + "/zsh";
    dotDir = ".config/zsh";
    history.path = config.xdg.cacheHome + "/zsh/history";

    initExtra = ''
      set -o PROMPTSUBST
      if [ -v NVIM -o -v VIM ]; then
        # smol prompt
        PROMPT='%# '
      else
        # loong looooong prooooompt – Nagāi Sakeru Gumi
        PROMPT='%B%(2L.LVL%L .)%b%F{red}%(?..E%? )%f%F{93}%n%f@%F{35}%m%f%# '
      fi
      RPROMPT='%F{green}%$((COLUMNS/4))<...<%~%<<%f'

      mkcd () {
        mkdir "$1" && cd "$1"
      }
    '';
  };
}