{ pkgs, ... }: { programs.zsh = { enable = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; oh-my-zsh = { enable = true; theme = "agnoster"; plugins = [ "git" ]; }; shellAliases = { # NixOS flakedate = "sudo nix flake update --flake /etc/nixos"; nhs = "sudo nh os switch -R /etc/nixos"; nhu = "flakedate && nhs"; ns = "nix-shell -p"; nixclean = "sudo nix-store --gc; nix-collect-garbage -d"; nixpurge = "sudo nix-collect-garbage --delete-old"; nixoptimize = "sudo nix store optimise"; nixscrub = "nixclean; nixpurge; nixoptimize"; # Shortcuts ff = "clear && fastfetch"; ip = "ip -c"; ls = "${pkgs.eza}/bin/eza -a --color=always --group-directories-first --icons"; cat = "${pkgs.bat}/bin/bat --paging never"; copycat = "wl-copy <"; myip = "curl ifconfig.co"; seneca = "ssh jhampton1@matrix.senecapolytechnic.ca"; # Deny rm = ''echo "Use trash."; false''; }; initExtra = '' ${pkgs.any-nix-shell}/bin/any-nix-shell zsh --info-right | source /dev/stdin; pfetch source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh source ${pkgs.zsh-you-should-use}/share/zsh/plugins/you-should-use/you-should-use.plugin.zsh setopt HIST_IGNORE_SPACE setopt RM_STAR_WAIT ''; }; }