{ pkgs, config, lib, ... }: { options.speccon18.hm.zsh.enable = lib.mkEnableOption "enables specs zsh config"; config = lib.mkIf config.speccon18.hm.zsh.enable { programs.zsh = { enable = lib.mkDefault true; dotDir = ".config/zsh"; history = { path = "$ZDOTDIR/.zsh_history"; save = 10000000; }; autosuggestion.enable = lib.mkDefault true; enableCompletion = lib.mkDefault true; syntaxHighlighting.enable = lib.mkDefault true; shellAliases = { ls = "eza -l"; lsa = "eza -al"; grep = "rg"; osrb = "sudo nixos-rebuild $1 --flake ~/code/nixos-config/#katana"; }; localVariables = { EDITOR = "nvim"; }; # This adds the atuin init line to your Zsh config initExtra = '' eval "$(atuin init zsh)" ''; }; }; }