{ config, pkgs, lib, ... }: { programs.bat = { enable = true; config = { theme = "base16"; }; }; programs.lsd = { enable = true; enableZshIntegration = false; # We explicitly define custom aliases below }; programs.fzf = { enable = true; enableZshIntegration = true; defaultOptions = [ "--color=dark" "--color=fg:-1,bg:-1,hl:#c678dd,fg+:#ffffff,bg+:#4b5263,hl+:#d858fe" "--color=info:#98c379,prompt:#61afef,pointer:#be5046,marker:#e5c07b,spinner:#61afef,header:#61afef" ]; }; programs.zoxide = { enable = true; enableZshIntegration = true; options = [ "--cmd" "cd" ]; }; programs.starship = { enable = true; enableZshIntegration = true; settings = builtins.fromTOML (builtins.readFile ./starship/starship.toml); }; programs.zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting = { enable = true; highlighters = [ "main" "brackets" ]; }; oh-my-zsh = { enable = true; plugins = [ "git" "tmux" "battery" "colored-man-pages" "jsontools" ]; extraConfig = '' COMPLETION_WAITING_DOTS="..." ZVM_INIT_MODE="sourcing" ''; }; plugins = [ { name = "fzf-tab"; src = pkgs.zsh-fzf-tab; file = "share/fzf-tab/fzf-tab.plugin.zsh"; } { name = "zsh-interactive-cd"; src = pkgs.fetchFromGitHub { owner = "changyuheng"; repo = "zsh-interactive-cd"; rev = "e7d4802aa526ec069dafec6709549f4344ce9d4a"; sha256 = "sha256-j23Ew18o7i/7dLlrTu0/54+6mbY8srsptfrDP/9BI/Q="; }; file = "zsh-interactive-cd.plugin.zsh"; } ]; sessionVariables = { EDITOR = "nvim"; BAT_THEME = "base16"; ZSH_TMUX_FIXTERM = "true"; GPG_TTY = "$(tty)"; PNPM_HOME = "$HOME/.local/share/pnpm"; }; shellAliases = { vim = "nvim"; cat = "bat --paging=never"; ls = "lsd"; l = "ls -al"; clear = "clear -x"; rm = "rm -I"; zshconf = "$EDITOR $HOME/NixOS-Configs/home/zsh.nix"; hyprconf = "$EDITOR $HOME/NixOS-Configs/home/hypr/hyprland.nix"; setup = "source ./setup_env.sh"; gpuenv = "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia"; digital = "$HOME/Tools/Digital/Digital.sh"; nixos_test = "rebuild test"; nixos_switch = "rebuild switch"; "rebuild-switch" = "rebuild switch"; "rebuild-test" = "rebuild test"; "rebuild-boot" = "rebuild boot"; "rebuild-build" = "rebuild build"; # Herdr multiplexer aliases hs = "herdr-picker"; ha = "herdr session attach"; hl = "herdr session list"; hn = "herdr session new"; hk = "herdr session stop"; }; initContent = builtins.readFile ./zsh/init.zsh; }; home.packages = with pkgs; [ pfetch-rs bitwarden-cli pandoc zathura tmux ]; }