{ pkgs, ... }: { programs.zsh = { enable = true; autocd = true; dotDir = ".config/zsh"; autosuggestion.enable = true; enableCompletion = true; shellAliases = { ls = "eza -lh"; ip = "ip --color=auto"; nano = "nvim"; cd = "z"; cat = "bat"; # Aliases for my nixos workflow switch = "sudo nixos-rebuild switch --flake ~/nixconf |& nom"; homeswitch = "home-manager switch --flake ~/nixconf |& nom"; serverswitch = "nixos-rebuild switch --flake ~/nixconf#biggerpi --target-host blue@biggerpi --use-remote-sudo |& nom"; }; plugins = with pkgs; [ { name = "zsh-syntax-highlighting"; src = fetchFromGitHub { owner = "zsh-users"; repo = "zsh-syntax-highlighting"; rev = "0.6.0"; sha256 = "0zmq66dzasmr5pwribyh4kbkk23jxbpdw4rjxx0i7dx8jjp2lzl4"; }; file = "agkozak-zsh-prompt.plugin.zsh"; } ]; oh-my-zsh = { enable = true; theme = "agnoster"; }; }; }