54 lines
1.5 KiB
Bash
54 lines
1.5 KiB
Bash
# History
|
|
HISTFILE="$HOME/.zsh_history"
|
|
HISTSIZE=10000
|
|
SAVEHIST=10000
|
|
setopt share_history
|
|
|
|
# Aliases
|
|
alias gp='git push'
|
|
alias gcm='git commit -am'
|
|
alias gsw='git switch'
|
|
alias gst='git status'
|
|
alias ga='git add .'
|
|
alias gtree="git log --graph --all --pretty=format:'%C(yellow)%h%Creset%C(cyan)%d%Creset %s %C(dim)(%cr) <%an>%Creset'"
|
|
|
|
# Environment
|
|
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
|
export GOPATH="${GOPATH:-$HOME/go}"
|
|
export PATH="$HOME/.scripts:$HOME/.local/bin:$HOME/.cargo/bin:$HOME/.bun/bin:$HOME/bin/zig:$HOME/bin/zls:$GOPATH/bin:$PATH"
|
|
|
|
# SSH agent
|
|
start-ssh-agent() {
|
|
local agent_env="$HOME/.ssh/agent.env"
|
|
if [[ -f "$agent_env" ]]; then
|
|
source "$agent_env" >/dev/null
|
|
fi
|
|
if ! ssh-add -l &>/dev/null; then
|
|
eval "$(ssh-agent -s)" >/dev/null
|
|
ssh-agent -s >"$agent_env"
|
|
chmod 600 "$agent_env"
|
|
ssh-add ~/.ssh/id_ed25519 2>/dev/null || ssh-add ~/.ssh/id_rsa 2>/dev/null
|
|
fi
|
|
}
|
|
|
|
# Clipboard via OSC 52 (works through tmux, including remote sessions)
|
|
clip() {
|
|
local input
|
|
if [ -t 0 ]; then
|
|
input="$*"
|
|
else
|
|
input=$(cat)
|
|
fi
|
|
printf "\033]52;c;%s\007" "$(echo -n "$input" | base64)" > "$(tmux display-message -p '#{client_tty}')"
|
|
}
|
|
|
|
# Plugins
|
|
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
|
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
|
|
eval "$(fzf --zsh)"
|
|
eval "$(starship init zsh)"
|
|
|
|
. "$HOME/.atuin/bin/env"
|
|
eval "$(atuin init zsh)"
|