| 1 | # history setup |
| 2 | HISTFILE=$HOME/.zhistory |
| 3 | SAVEHIST=1000 |
| 4 | HISTSIZE=999 |
| 5 | setopt share_history |
| 6 | setopt hist_expire_dups_first |
| 7 | setopt hist_ignore_dups |
| 8 | setopt hist_verify |
| 9 | |
| 10 | # completion using arrow keys (based on history) |
| 11 | bindkey '^[[A' history-search-backward |
| 12 | bindkey '^[[B' history-search-forward |
| 13 | |
| 14 | # completion using vim keys |
| 15 | bindkey '^k' history-search-backward |
| 16 | bindkey '^j' history-search-forward |
| 17 | |
| 18 | bindkey -v |
| 19 | |
| 20 | source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh |
| 21 | source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh |
| 22 | |
| 23 | ns() { |
| 24 | rm -f ~/.nvim-startup.txt |
| 25 | nvim --headless --startuptime ~/.nvim-startup.txt +qa |
| 26 | grep "NVIM STARTED" ~/.nvim-startup.txt |
| 27 | } |
| 28 | |
| 29 | nh() { |
| 30 | rm -f ~/.nvim-startup.txt |
| 31 | nvim --headless --startuptime ~/.nvim-startup.txt +qa |
| 32 | bat ~/.nvim-startup.txt |
| 33 | } |
| 34 | |
| 35 | alias ls="eza --icons=always" |
| 36 | alias ll="ls -l" |
| 37 | alias la="ls -a" |
| 38 | alias lg="lazygit" |
| 39 | alias nf="neofetch" |
| 40 | alias fl="fastfetch -c ~/.config/fastfetch/presets/examples/8.jsonc" |
| 41 | alias ff="fastfetch -c ~/.config/fastfetch/presets/examples/20.jsonc" |
| 42 | # alias cd="z" |
| 43 | alias ai="aichat" |
| 44 | alias inv='nvim $(fzf -m --preview="bat --color=always {}")' |
| 45 | |
| 46 | alias gs="git status" |
| 47 | alias ga="git add ." |
| 48 | alias gc="git commit" |
| 49 | alias gd="git diff | delta" |
| 50 | alias gl="git log --all --graph --pretty=format:'%C(magenta)%h %C(white) %an %ar%C(auto) %D%n%s%n'" |
| 51 | alias gig="cp ~/.config/git/ignore $(pwd)/.gitignore" |
| 52 | |
| 53 | gac() { git add . && git commit --message "$*" } |
| 54 | |
| 55 | |
| 56 | # Exports |
| 57 | export BAT_THEME="ansi" |
| 58 | export GOROOT="/usr/local/go" |
| 59 | export GOPATH="$HOME/.local/share/go" |
| 60 | export GOMODCACHE="$HOME/.local/share/go-mod-cache" |
| 61 | |
| 62 | # PATH Configuration - Readable format with comments |
| 63 | # Homebrew |
| 64 | export PATH="$PATH:/opt/homebrew/bin" |
| 65 | export PATH="$PATH:$HOME/.local/share" |
| 66 | |
| 67 | # Go language |
| 68 | export PATH="$PATH:/usr/local/go/bin" |
| 69 | export PATH="$PATH:$HOME/.local/share/go/bin" |
| 70 | |
| 71 | # Rust |
| 72 | export PATH="$PATH:$HOME/.cargo/bin" |
| 73 | |
| 74 | # Standard user binaries |
| 75 | export PATH="$PATH:$HOME/.local/bin" |
| 76 | export PATH="$PATH:/usr/local/bin" |
| 77 | |
| 78 | # JavaScript/Node.js tools |
| 79 | export PATH="$PATH:$HOME/.bun/bin" |
| 80 | |
| 81 | # Docker |
| 82 | export PATH="$PATH:/Applications/Docker.app/Contents/Resources/bin" |
| 83 | |
| 84 | # Terminal/Shell tools |
| 85 | export PATH="$PATH:$HOME/.tmux/plugins/t-smart-tmux-session-manager/bin" |
| 86 | |
| 87 | # Blockchain/Web3 tools |
| 88 | export PATH="$PATH:$HOME/.foundry/bin" |
| 89 | export PATH="$PATH:$HOME/.local/share/pinata" |
| 90 | export PATH="$PATH:$HOME/.helios/bin" |
| 91 | |
| 92 | export FZF_DEFAULT_COMMAND='fd --type f --hidden --exclude ".git"' |
| 93 | export FZF_DEFAULT_OPTS=$FZF_DEFAULT_OPTS' |
| 94 | --color=fg:#c1c1c1,fg+:#ffffff,bg:#121113,bg+:#222222 |
| 95 | --color=hl:#5f8787,hl+:#fbcb97,info:#e78a53,marker:#fbcb97 |
| 96 | --color=prompt:#e78a53,spinner:#5f8787,pointer:#fbcb97,header:#aaaaaa |
| 97 | --color=border:#333333,label:#888888,query:#ffffff |
| 98 | --border="rounded" --border-label="" --preview-window="border-rounded" --prompt="> " |
| 99 | --marker=">" --pointer="◆" --separator="─" --scrollbar="│"' |
| 100 | |
| 101 | eval "$(zoxide init zsh)" |
| 102 | eval "$(starship init zsh)" |
| 103 | |
| 104 | # bun completions |
| 105 | [ -s "/Users/steve-simkins/.bun/_bun" ] && source "/Users/steve-simkins/.bun/_bun" |
| 106 | |
| 107 | # fzf |
| 108 | source <(fzf --zsh) |
| 109 | |
| 110 | # bun |
| 111 | export BUN_INSTALL="$HOME/.bun" |
| 112 | export PATH="$BUN_INSTALL/bin:$PATH" |