54 lines
1.3 KiB
Nix
54 lines
1.3 KiB
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}: let
|
||
|
cfg = config.lily.zsh;
|
||
|
in {
|
||
|
options.lily.zsh = {
|
||
|
enable = lib.mkEnableOption "activate zsh";
|
||
|
};
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
programs.zsh = {
|
||
|
enable = true;
|
||
|
autocd = true;
|
||
|
autosuggestion.enable = true;
|
||
|
autosuggestion.strategy = [
|
||
|
"completion"
|
||
|
"history"
|
||
|
];
|
||
|
shellAliases = {
|
||
|
nix-switch = "sudo nixos-rebuild switch --flake $HOME/.dotfiles";
|
||
|
ls = "eza";
|
||
|
cd = "z";
|
||
|
};
|
||
|
syntaxHighlighting.enable = true;
|
||
|
|
||
|
antidote = {
|
||
|
enable = true;
|
||
|
plugins = [
|
||
|
"zsh-users/zsh-autosuggestions"
|
||
|
"mattmc3/ez-compinit"
|
||
|
"zdharma-continuum/fast-syntax-highlighting kind:defer"
|
||
|
"zsh-users/zsh-completions kind:fpath path:src"
|
||
|
"getantidote/use-omz" # handle OMZ dependencies
|
||
|
"ohmyzsh/ohmyzsh path:lib" # load OMZ's library
|
||
|
"ohmyzsh/ohmyzsh path:plugins/colored-man-pages" # load OMZ plugins
|
||
|
"ohmyzsh/ohmyzsh path:plugins/magic-enter"
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
programs.zoxide = {
|
||
|
enable = true;
|
||
|
};
|
||
|
programs.starship.enable = true;
|
||
|
programs.eza = {
|
||
|
enable = true;
|
||
|
colors = "always";
|
||
|
icons = "always";
|
||
|
git = true;
|
||
|
};
|
||
|
};
|
||
|
}
|