78 lines
1.8 KiB
Nix
78 lines
1.8 KiB
Nix
{
|
|
inputs,
|
|
outputs,
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
programs.zoxide = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
shellAliases = {
|
|
cd = "z";
|
|
code = "codium ./";
|
|
ls = "eza";
|
|
lh = "ls -lah";
|
|
cat = "bat";
|
|
tree = "tre";
|
|
neofetch = "hyfetch";
|
|
shutdown = "shutdown 0";
|
|
reboot = "reboot 0";
|
|
};
|
|
plugins = [
|
|
{
|
|
name = "zsh-nix-shell";
|
|
file = "nix-shell.plugin.zsh";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "chisui";
|
|
repo = "zsh-nix-shell";
|
|
rev = "v0.8.0";
|
|
sha256 = "sha256-Z6EYQdasvpl1P78poj9efnnLj7QQg13Me8x1Ryyw+dM=";
|
|
};
|
|
}
|
|
{
|
|
name = "terraform";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "macunha1";
|
|
repo = "zsh-terraform";
|
|
rev = "fd1471d3757f8ed13f56c4426f88616111de2a87";
|
|
sha256 = "0z6i9wjjklb4lvr7zjhbphibsyx51psv50gm07mbb0kj9058j6kc";
|
|
};
|
|
}
|
|
];
|
|
autosuggestion.enable = true;
|
|
enableCompletion = true;
|
|
historySubstringSearch.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
#zsh-abbr.enable = true;
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = [
|
|
"git"
|
|
"colored-man-pages"
|
|
"colorize"
|
|
"dirhistory"
|
|
"dirpersist"
|
|
"history"
|
|
"history-substring-search"
|
|
"fancy-ctrl-z"
|
|
"git-flow"
|
|
"isodate"
|
|
"z"
|
|
"zsh-interactive-cd"
|
|
"zsh-navigation-tools"
|
|
];
|
|
};
|
|
# Extra commands that take more complex forms
|
|
initExtra = ''
|
|
eval "$(zoxide init --cmd cd zsh)"
|
|
tre() { command tre "$@" -e && source "/tmp/tre_aliases_$USER" 2>/dev/null; }
|
|
zhx() { command zellij action new-tab --layout $HOME/.config/zellij/layouts/helix.kdl; }
|
|
'';
|
|
};
|
|
}
|