{ config, ... }: { programs.zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; shellAliases = let flakeDir = "~/flake"; in { sw = "nh os switch"; upd = "nh os switch --update"; upg = "nh os switch"; hms = "nh home switch"; conf = "nvim ${flakeDir}/nixos/configuration.nix"; pkgs = "nvim ${flakeDir}/nixos/packages.nix"; ll = "ls -l"; v = "nvim"; se = "sudoedit"; microfetch = "microfetch && echo"; }; history.size = 10000; history.path = "${config.xdg.dataHome}/zsh/history"; oh-my-zsh = { enable = true; plugins = [ "git" "sudo" ]; theme = "agnoster"; # blinks is also really nice }; }; }