dotfiles/nixos/zsh/home.nix

112 lines
2.6 KiB
Nix
Raw Normal View History

2024-04-21 19:16:41 +01:00
{
config,
pkgs,
...
}: {
programs = {
atuin.enableZshIntegration = true;
zsh = {
2021-11-22 19:32:26 +00:00
enable = true;
2024-04-21 19:16:41 +01:00
history = {
size = 102400;
save = 102400;
ignoreDups = true;
expireDuplicatesFirst = true;
share = true;
};
autosuggestion.enable = 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"
tmux source-file ~/.config/tmux/tmux.conf
local nixos_version=`which nixos-version`
if [[ ! -x "$nixos_version" && ! `uname` == "Darwin" ]]; 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";
PAGER = "less";
ZSH_TMUX_AUTOSTART = true;
GOPATH = "$HOME/go";
};
shellAliases = {
2024-06-07 16:01:27 +01:00
bc = ''BC_ENV_ARGS=<(echo "scale=2") \bc'';
2024-04-21 19:16:41 +01:00
cat = "bat -p";
2024-06-07 16:01:27 +01:00
icat = "kitten icat";
2024-04-21 19:16:41 +01:00
rg = "rga";
2024-06-07 16:01:27 +01:00
tmate = "tmux detach-client -E 'tmate;tmux'";
2024-04-21 19:16:41 +01:00
};
2021-11-22 19:32:26 +00:00
};
2024-04-21 19:16:41 +01:00
direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv = {enable = true;};
2021-11-22 19:32:26 +00:00
};
2024-04-21 19:16:41 +01:00
starship = {
enable = true;
enableZshIntegration = true;
2021-11-22 19:32:26 +00:00
};
};
home.file.".config/starship.toml".text = ''
2022-02-27 20:21:31 +00:00
command_timeout = 8192
2021-11-22 19:32:26 +00:00
[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 "
'';
2020-07-04 10:21:15 +01:00
}