53 lines
1.3 KiB
Nix
53 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;
|
|
};
|
|
};
|
|
}
|