dotfiles/nixos/programs/zsh.nix
2019-07-07 11:45:08 +01:00

56 lines
1.7 KiB
Nix

{ 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" "syntax-highlighting" "history-substring-search" "spectrum" "sshi" "prompt" "gpg" "autosuggestions" "tmux" ];
};
plugins = [
{
name = "spaceship";
file = "spaceship.zsh";
src = pkgs.fetchgit {
url = "https://github.com/denysdovhan/spaceship-prompt";
rev = "v3.11.1";
sha256 = "0habry3r6wfbd9xbhw10qfdar3h5chjffr5pib4bx7j4iqcl8lw8";
};
}];
initExtra = ''
SPACESHIP_TIME_SHOW=true
SPACESHIP_EXIT_CODE_SHOW=true
SPACESHIP_VI_MODE_SHOW=false
SPACESHIP_BATTERY_THRESHOLD=30
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";
'';
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"; };
};
}