{ pkgs, ... }: { imports = [ ./git.nix ./ssh.nix ./starship.nix ./bottom.nix ./cava.nix ]; home.shellAliases = { sync-all = "vdirsyncer sync; mbsync -a; sync-git; sync-emacs"; sync-and-shutdown = "sync-all && shutdown now"; protonup = "sudo wg-quick up protonvpn && sudo wg"; protondown = "sudo wg-quick down protonvpn"; }; programs = { bash.enable = true; carapace.enable = true; fastfetch.enable = true; fd.enable = true; jq.enable = true; ripgrep.enable = true; bat = { enable = true; config.style = "plain,numbers,changes"; }; direnv = { enable = true; nix-direnv.enable = true; }; eza = { enable = true; git = true; icons = true; extraOptions = [ "--octal-permissions" ]; }; fzf = { enable = true; defaultCommand = "${pkgs.fd}/bin/fd --type f"; changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d"; fileWidgetCommand = "${pkgs.fd}/bin/fd --type f"; }; readline = { enable = true; variables = { bell-style = "visible"; blink-matching-paren = "On"; colored-completion-prefix = "On"; colored-stats = "On"; completion-ignore-case = "On"; completion-map-case = "On"; editing-mode = "emacs"; expand-tilde = "On"; horizontal-scroll-mode = "On"; mark-directories = "On"; mark-symlinked-directories = "On"; visible-stats = "On"; }; }; zsh = { enable = true; enableCompletion = true; autocd = true; autosuggestion.enable = true; defaultKeymap = "emacs"; syntaxHighlighting = { enable = true; highlighters = [ "brackets" "cursor" ]; }; historySubstringSearch.enable = true; history = { extended = true; share = true; ignoreDups = true; ignoreAllDups = true; ignoreSpace = true; expireDuplicatesFirst = true; }; initExtra = '' ## completion config and styling zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' zstyle ':completion:*' menu 'select=long-list' ## transient prompt source ${./transient.zsh} ''; }; }; }