37 lines
852 B
Nix
37 lines
852 B
Nix
{ config, pkgs, ... }: {
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
theme = "terminalparty";
|
|
plugins = [
|
|
"git"
|
|
];
|
|
};
|
|
|
|
history = {
|
|
path = "${config.xdg.dataHome}/zsh/histfile";
|
|
size = 10000;
|
|
save = 10000;
|
|
};
|
|
|
|
initExtra = ''
|
|
nix_dev_env() {
|
|
FLAKE="$PWD/flake.nix"
|
|
[[ -z "$CURRENT_FLAKE_ENV" ]] && \
|
|
[[ -f $FLAKE ]] && \
|
|
ZSH_PREFIX="$ZSH_PREFIX(flake)" \
|
|
CURRENT_FLAKE_ENV=$FLAKE \
|
|
nix develop -c $SHELL 2> /dev/null
|
|
}
|
|
autoload -U add-zsh-hook
|
|
add-zsh-hook chpwd nix_dev_env
|
|
|
|
export PS1="$ZSH_PREFIX$PS1"
|
|
'';
|
|
};
|
|
}
|