dotfiles/home/zsh/default.nix

99 lines
3.2 KiB
Nix

{ config, pkgs, ... }:
{
home.packages = with pkgs; [
fzy
lf
curl
fd
zsh-powerlevel10k
zsh-autocomplete
zsh-vi-mode
ripgrep
rsync
moreutils
];
home.sessionVariables = {
BROWSER = "firefox";
GPULAB_CERT = "${config.xdg.dataHome}/gpulab.pem";
GPULAB_DEV = "False";
GCC_COLORS =
"error = '01;31:warning = '01;35:note = '01;36:caret = '01;32:locus = '01:quote = '01'";
ARCHFLAGS = "-arch x86_64";
TERM = "screen-256color";
PYTHONDONTWRITEBYTECODE = "1";
GOPATH = "${config.xdg.dataHome}/go";
DIRENV_LOG_FORMAT = "";
};
programs.direnv = {
enable = true;
enableZshIntegration = true; # see note on other shells below
nix-direnv.enable = true;
config = { global = { hiden_env_diff = true; }; };
};
programs.command-not-found.enable = true;
programs.zoxide = {
enable = true;
enableZshIntegration = true;
};
programs.fzf = { enable = true; };
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = false;
autosuggestion.enable = true;
initExtraFirst = ''
ZVM_VI_INSERT_ESCAPE_BINDKEY=jj
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
source ${./files/p10k.zsh}
source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
function zvm_after_init() {
source ${./files/term.zsh}
source ${./files/completion.zsh}
source ${./files/waypipe.zsh}
if [ -n "\$\{commands[fzf-share]\}" ]; then
source "$(fzf-share)/key-bindings.zsh"
source "$(fzf-share)/completion.zsh"
fi
source ${./files/keys.zsh}
source ${./files/functions.zsh}
}
'';
shellAliases = {
mallorea = "run_waypipe mallorea";
vault = "run_waypipe vault";
riva = "run_waypipe riva";
kell = "run_waypipe kell";
aloria = "run_waypipe aloria";
nixvm = "run_waypipe nixvm";
ll = "ls -lhat";
ls = "ls --color=auto";
lf = ''cd "$(${pkgs.lf}/bin/lf -print-last-dir)"'';
compress = "tar --use-compress-program = lbzip2 -cvf";
wget = ''wget --hsts-file = "$XDG_DATA_HOME/wget-hsts"'';
python = "python3";
vim = "nvim";
v = ''
nvim -c ':lua require("oil").open()' && cd "$(cat /tmp/oil_dir 2> /dev/null || pwd)"'';
cpr =
"rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1";
mvr =
"rsync --archive -hh --partial --info = stats1,progress2 --modify-window = 1 --remove-source-files";
rg =
"rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'";
ag =
"rg -i --colors 'match:bg:yellow' --colors 'match:fg:black' --colors 'match:style:nobold' --colors 'path:fg:green' --colors 'path:style:bold' --colors 'line:fg:yellow' --colors 'line:style:bold'";
push = ''git add -A && git commit -m "`date`" && git push'';
reset = "tput reset";
};
history.size = 10000000;
history.save = 10000000;
history.path = "${config.xdg.dataHome}/zsh/history";
autocd = true;
};
}