Files
parana/modules/misc/zsh.nix
2026-07-10 20:07:29 -04:00

69 lines
2.2 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{ config, pkgs, lib, ... }:
{
programs.zsh = {
enable = true;
enableCompletion = true;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
initContent = ''
# Powerlevel10k
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
'';
shellAliases = {
# Defaults hosts may override
ls = lib.mkDefault "lsd --color=auto";
ll = lib.mkDefault "lsd -lah --color=auto";
".." = lib.mkDefault "cd ../";
v = lib.mkDefault "nvim .";
c = lib.mkDefault "clear";
z = lib.mkDefault "zoxide";
op = lib.mkDefault "opencode .";
ff = lib.mkDefault "fastfetch";
gs = lib.mkDefault "git status";
gc = lib.mkDefault "git commit -m";
gp = lib.mkDefault "git push -u origin";
tsm = lib.mkDefault "tmux-session-manager";
# rgi = lib.mkDefault ''
# rg --color=always --line-number --no-heading --smart-case . |
# fzf --ansi --delimiter : \
# --preview "bat --style=full --color=always --highlight-line {2} {1}" \
# --preview-window "~4,+{2}+4/3,<80(up)"
# '';
rgi = lib.mkDefault ''
rg --color=always --line-number --no-heading --smart-case . |
fzf --ansi --delimiter : \
--preview "bat --style=full --color=always --highlight-line {2} {1}" \
--preview-window "~4,+{2}+4/3,<80(up)" \
--bind "enter:become(nvim +{2} {1})"
'';
hmr = lib.mkDefault "sudo nixos-rebuild switch --flake .#$(hostname)";
snr = lib.mkDefault "sudo nixos-rebuild switch --flake .";
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
reload = lib.mkDefault "exec zsh";
};
};
################################
# Fonts (for p10k icons)
################################
fonts.fontconfig.enable = true;
################################
# Packages
################################
home.packages = with pkgs; [
nerd-fonts.fira-code
nerd-fonts.hack
nerd-fonts.jetbrains-mono
zsh-powerlevel10k
zsh-autosuggestions
zsh-syntax-highlighting
];
}