{ 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 = { mo2 = "steam-run steamtinkerlaunch mo2 start"; ls = "eza --icons -alog --group-directories-first --no-permissions --no-time --total-size --git --header"; #grep = "rg"; osrb = "sudo nixos-rebuild $1 --flake ~/Documents/code/nix/nixos-config/#katana"; nvim-cfg = "nvim /home/speccon18/.config/nvim/"; edit-nix-cfg = "nvim --cmd 'cd /home/speccon18/Documents/code/nix/nixos-config' flake.nix"; cat = "bat"; }; localVariables = { EDITOR = "nvim"; }; # This adds the atuin init line to your Zsh config initContent = '' eval "$(atuin init zsh)" ''; }; }; }