reciproka-ops/profiles/zsh.nix
2023-05-09 23:54:45 +10:00

43 lines
1 KiB
Nix

# Configuration common to all Reciproka Kolectiva servers
{
config,
pkgs,
lib,
...
}: {
# Program defaults for all hosts
programs.zsh = {
enable = true; # Also enables & installs nix-zsh-completions
autosuggestions.enable = true;
interactiveShellInit = ''
export TERM="xterm-256color"
eval "$(direnv hook zsh)"
test -r ~/.dir_colors && eval $(dircolors ~/.dir_colors)
export GPG_TTY="$(tty)"
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
if type rg &> /dev/null; then
export FZF_DEFAULT_COMMAND='rg --files'
export FZF_DEFAULT_OPTS='-m --height 50% --border'
fi
'';
ohMyZsh = {
enable = true;
plugins = [
"fzf"
"git"
];
};
promptInit = ''
eval "$(starship init zsh)"
'';
vteIntegration = true;
};
environment.systemPackages = with pkgs; [
fzf
];
users.defaultUserShell = pkgs.zsh; # Set the default shell for all users
}