-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdot_zshrc.tmpl
More file actions
131 lines (117 loc) · 3.46 KB
/
dot_zshrc.tmpl
File metadata and controls
131 lines (117 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# vim: set ft=zsh:
# History
HISTFILE=~/.histfile
HISTSIZE=40000
SAVEHIST=40000
HIST_STAMPS="yyyy-mm-dd"
setopt HIST_IGNORE_DUPS
set_env() {
# CLI tools
export MAKEFLAGS="-j $(nproc --all)"
export LESS="-SRF --mouse"
export GPG_TTY=$(tty)
export GOPRIVATE="github.com/duneanalytics/*"
export GOPATH="$HOME/dev/go"
export GOBIN="$HOME/dev/go/bin"
export VIRTUAL_ENV_DISABLE_PROMPT="true"
export COMPOSE_BAKE="true"
export FZF_CTRL_T_COMMAND="fd -tf -td -tl"
export FZF_DEFAULT_COMMAND='rg --files --hidden --follow -g "!{.git}/*" 2> /dev/null'
export FZF_DEFAULT_OPTS='
--color fg:#928374,bg:#282828,hl:#fb4934
--color fg+:#b8bb26,bg+:#3c3836,hl+:#fb4934
--color info:#fe8019,prompt:#83a598,header:#83a598
--color pointer:#fb4934,marker:#fb4934,spinner:#ffff60
'
export JQ_COLORS="1;31:0;35:0;35:0;39:0;32:1;39:1;39"
# Claude code
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"
export DISABLE_AUTOUPDATER="1"
# OpenCode
export OPENCODE_DISABLE_LSP_DOWNLOAD="true"
# Common config
export DEFAULT_USER="pavle"
export EDITOR="nvim"
export VISUAL="nvim"
export TERMINAL="ghostty"
export LANG="en_US.UTF-8"
export LC_ALL="C.UTF-8"
export PATH="$HOME/.local/bin:$PATH:$GOBIN:$HOME/.cargo/bin:$HOME/.local/share/nvim/mason/bin:$HOME/.cache/.bun/bin"
export XDG_CONFIG_HOME="$HOME/.config"
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
{{ if and (hasKey . "zshrc") (kindIs "map" .zshrc) (hasKey .zshrc "env_vars") }}
# Additional env vars
{{ range $_, $env := .zshrc.env_vars }} export {{ $env.name }}="{{ $env.value }}"
{{ end -}}
{{- end -}}
}
# oh-my-zsh
export ZSH="$HOME/.config/zsh/oh-my-zsh"
CUSTOM="$HOME/.config/zsh"
ZSH_THEME="boban/boban"
HYPHEN_INSENSITIVE="true"
DISABLE_AUTO_UPDATE="true"
plugins=(
archlinux
common-aliases
docker
docker-compose
git
kubectl
you-should-use
zsh-autosuggestions
zsh-autoswitch-virtualenv
zsh-completions
zsh-syntax-highlighting
zsh-autopair
)
source $ZSH/oh-my-zsh.sh
# Custom functions
fpath=( ${CUSTOM}/functions "${fpath[@]}" )
autoload -Uz ${CUSTOM}/functions/*
# Misc options
setopt extendedglob notify
unsetopt beep nomatch
bindkey -v
zle_highlight+=(paste:none)
# Copy current prompt to clipboard with CTRL+Y
if [[ -n ${WAYLAND_DISPLAY} ]]; then
copy_line_to_x_clipboard() {
echo -n ${BUFFER} | wl-copy
zle reset-prompt
}
zle -N copy_line_to_x_clipboard
bindkey '^Y' copy_line_to_x_clipboard
fi
source ${CUSTOM}/completions/*.zsh
source ~/.aliases
source ~/.config/zsh/kc.zsh
# Bind home and end
bindkey "\033[H" beginning-of-line
bindkey "\033[F" end-of-line
# zle -N zle-line-init
TRAPWINCH() {
zle && { zle reset-prompt; zle -R }
}
# Load fzf
if [[ $- == *i* ]] && [[ -d /usr/share/fzf/ ]]; then
source "/usr/share/fzf/completion.zsh" NO
source "/usr/share/fzf/key-bindings.zsh" NO
fi
type zoxide &> /dev/null && eval "$(zoxide init zsh)"
type autopair-init &> /dev/null && autopair-init
{{ if (index . "gui" | default false) -}}
if [ -z "${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ] && [[ $(tty) = /dev/tty1 ]]; then
# hyprland on tty1
set_env
exec uwsm start -e -D Hyprland hyprland.desktop
elif [[ $(tty) =~ "/dev/tty[0-9]" ]]; then
# Enable unicode characters in the tty
set_env
unicode_start
elif [ -n "$SSH_CONNECTION" ] || [ -n "$SSH_CLIENT" ]; then
set_env
fi
{{ else }}
set_env
{{- end }}