{ config, lib, pkgs, ... }: let inherit (pkgs.stdenv.hostPlatform) isDarwin isLinux; in { programs.zsh = { enable = true; initExtraFirst = '' autoload -Uz up-line-or-beginning-search down-line-or-beginning-search zmv colors add-zle-hook-widget zle -N up-line-or-beginning-search zle -N down-line-or-beginning-search ''; initExtra = builtins.readFile ../../../../zsh/zshrc; # antidote = { # enable = true; # plugins = [ # "zdharma-continuum/fast-syntax-highlighting" # "zsh-users/zsh-completions" # "b4b4r07/zsh-vimode-visual" # "ohmyzsh/oh-my-zsh" # ]; # useFriendlyNames = true; # }; dirHashes = { "-- -dotfiles" = "$HOME/.dotfiles"; "-- -src" = "$HOME/src"; "-- -doom" = "$HOME/.emacs.d"; }; sessionVariables = { COMPLETION_WAITING_DOTS = true; VISUAL = "nvim"; EDITOR = "nvim"; RPROMPT = "' '"; # Fixes a side-effect of the vi-mode oh-my-zsh plugin KEYTIMEOUT = 1; }; shellAliases = if isLinux then { cp = "cp --reflink=auto"; } else { exa = "eza -l --git"; }; }; }