~cyplo/dotfiles

ref: 83ddcc09dc68389b129d598722eca9e90a6dff33 dotfiles/nixos/home-manager/programs/zsh.nix -rw-r--r-- 2.3 KiB
83ddcc09 — Cyryl Płotnicki remove broken i3 msg call 29 days ago
                                                                                
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{ config, pkgs, ... }:

{
  programs.zsh = {
    enable = true;
    history = {
      size = 102400;
      save = 102400;
      ignoreDups = true;
      expireDuplicatesFirst = true;
      share = true;
    };
    enableAutosuggestions = true;
    enableCompletion = true;
    oh-my-zsh = {
      enable = true;
      plugins = [ "vi-mode" "git" "python" "history-substring-search" "tmux" ];
    };
    initExtra = ''
        ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=238'
        setopt HIST_IGNORE_ALL_DUPS
    '';
    profileExtra = ''
        export PATH="$HOME/programs:$PATH";
        export PATH="$HOME/tools:$PATH";
        export PATH="$HOME/bin:$PATH";
        export PATH="$HOME/.local/bin:$PATH";
        export PATH="$GOPATH/bin:$PATH";
        export PATH="$HOME/.rvm/bin:$PATH";
        export PATH="$HOME/.cargo/bin:$PATH";
        export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH";
    '';
    envExtra = ''
        [ -s "/home/cyryl/.jabba/jabba.sh" ] && source "/home/cyryl/.jabba/jabba.sh"
        local nixos_version=`which nixos-version`
        if [[ ! -x "$nixos_version" ]]; then
          source /home/cyryl/.nix-profile/etc/profile.d/nix.sh
          export NIX_PATH="$HOME/.nix-defexpr/channels:$NIX_PATH"
          export NVM_DIR="$HOME/.nvm"
          [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
          echo "non-nixos patches loaded"
        fi
    '';
    sessionVariables = {
      TERM="xterm-256color";
      EDITOR="vim";
      VISUAL="vim";
      PAGER="less";
      ZSH_TMUX_AUTOSTART=true;
      GOPATH="$HOME/go";
    };
    shellAliases = { tmate = "tmux detach-client -E 'tmate;tmux'"; cat = "bat -p"; };
  };
  programs.direnv = {
    enable = true;
    enableZshIntegration = true;
  };

  home.file.".config/starship.toml".text =''
      [aws]
      disabled = true

      [battery]
      full_symbol = ""
      charging_symbol = ""
      discharging_symbol = ""

      [[battery.display]]
      threshold = 10
      style = "bold red"

      [[battery.display]]
      threshold = 30
      style = "bold yellow"

      [memory_usage]
      disabled = false

      [git_branch]
      symbol = "git "

      [hg_branch]
      symbol = "hg "

      [nix_shell]
      symbol = "nix-shell "
  '';

  programs.starship = {
    enable = true;
    enableZshIntegration = true;
  };
}