tomato/modules/zsh/home.nix
2021-08-23 10:42:53 +00:00

45 lines
1.2 KiB
Nix

{ pkgs, config, ... } :
let
wrapPlugin = { name, pkg }: {
inherit name;
src = pkg + "/share/zsh/site-functions";
};
in {
home.packages = [
pkgs.swatch
];
programs.zsh = {
enable = true;
enableAutosuggestions = true;
enableCompletion = true;
dotDir = ".config/zsh";
history = {
expireDuplicatesFirst = true;
extended = true;
ignoreDups = true;
share = true;
};
initExtraBeforeCompInit = ''
export PATH=$PATH:'/run/wrappers/bin:/home/thorn/.nix-profile/bin:/etc/profiles/per-user/thorn/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/home/thorn/.config/zsh/plugins/fast-syntax-highlighting'
'';
initExtra = ''
setopt promptsubst
autoload -U colors && colors
export PROMPT='%{$fg[white]%}%B$(swatch)%b %{$fg[blue]%}%2~ %{$fg[green]%}%B>%b '
'';
shellAliases = {
nf = "neofetch --gtk2 off --gtk3 off --ascii_bold on";
ls = "ls --color";
ec = "emacsclient";
};
plugins = (map wrapPlugin [
{ name = "fast-syntax-highlighting";
pkg = pkgs.zsh-fast-syntax-highlighting;
}
]);
};
programs.dircolors.enableZshIntegration = true;
}