-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdot_zprofile.tmpl
159 lines (126 loc) · 4.32 KB
/
dot_zprofile.tmpl
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
## SOURCING ##
source ~/.config/.variables
source ~/.config/.secrets
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
[ -f /usr/share/nvm/init-nvm.sh ] && source /usr/share/nvm/init-nvm.sh
# Do not warn if glob has no matches.
setopt no_nomatch
## ENV VARS ##
skip_global_compinit=1
export ZSH=$HOME/.oh-my-zsh
# Enable extra zsh completions: https://github.com/zsh-users/zsh-completions
fpath+="${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions/src"
export LC_ALL=en_GB.UTF-8
export LANG=en_GB.UTF-8
export PROMPT_EOL_MARK=""
# autoupdate
export DISABLE_AUTO_UPDATE=true
## Linux / MacOS ##
machine=$(uname -s)
# XDG
export XDG_DATA_HOME="$HOME/{{ .relative_xdg_data_home}}"
export XDG_CONFIG_HOME="$HOME/{{ .relative_xdg_config_home }}"
export XDG_STATE_HOME="$HOME/{{ .relative_xdg_state_home }}"
export XDG_CACHE_HOME="$HOME/{{ .relative_xdg_cache_home }}"
export CARGO_HOME="$XDG_DATA_HOME"/cargo
export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc/.npmrc
export NVM_DIR="$XDG_DATA_HOME"/nvm
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
export TEXMFVAR=$XDG_CACHE_HOME/texlive/texmf-var
export WINEPREFIX="$XDG_DATA_HOME"/wine
export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
export PNPM_HOME="$XDG_CACHE_HOME"/pnpm
export PYENV_ROOT="$XDG_DATA_HOME/pyenv"
PATH="$PYENV_ROOT/shims:$PATH"
PATH="$PYENV_ROOT/bin:$PATH"
if [[ "$CHEZMOI_DATA_ENVIRONMENT" != "devserver" ]] && type "pyenv" >/dev/null; then
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi
if type "zoxide" >/dev/null; then
eval "$(zoxide init zsh)"
fi
# wlroots
# Use legacy mode for gamma changing for redshift.
# export WLR_DRM_NO_ATOMIC=1
# Use the Vulkan renderer for no flickering on Nvidia.
#export WLR_RENDERER="vulkan"
export VISUAL=nvim
export EDITOR="$VISUAL"
{{ if eq .environment "work" }}
export BROWSER="/usr/bin/google-chrome"
{{ else }}
export BROWSER="/usr/bin/firefox"
{{ end }}
# Otherwise IntelliJ won't run on Sway.
# https://youtrack.jetbrains.com/issue/IDEA-153134
export _JAVA_AWT_WM_NONREPARENTING=1
if [[ -n "$SSH_CONNECTION" ]]; then
# Use GPG curses based pin entry via SSH.
export GPG_TTY=$(tty)
fi
## PATH ##
# Do not add duplicates to PATH
typeset -U PATH
export GOPATH=$HOME/dev/go
unset GOROOT
PATH="$GOPATH/bin:$PATH"
# PREPEND
PATH="$CARGO_HOME/bin:$PATH"
PATH="/usr/local/sbin:$PATH"
PATH="/usr/local/bin:$PATH"
PATH="$HOME/.bin:$PATH"
PATH="$HOME/.local/bin:$PATH"
PATH="$HOME/.bin/wrappers:$PATH"
if [[ $machine == "Linux" ]]; then
# Make Electron use gio for trash.
# Used for VS Code.
export ELECTRON_TRASH="gio"
elif [[ $machine == "Darwin" ]]; then
# MacOS specific commands.
# export HOMEBREW_HOME="$HOME/.homebrew"
# Use GNU utils.
PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
# Use GNU man.
MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"
# `code` Pin ATH
PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
# Homebrew
export HOMEBREW_HOME="/opt/homebrew"
PATH="$HOMEBREW_HOME/bin:$PATH"
# Homebrew fzf
export FZF_BASE="$HOMEBREW_HOME/opt/fzf"
# Ignore iTunes play button
# launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist &> /dev/null
alias flushdns="sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder"
fi
# APPEND
PATH="$PATH:$HOME/.npm-global/bin"
PATH="$PATH:$HOME/.local/bin"
PATH="$PATH:/var/lib/flatpak/exports/bin"
PATH="$PATH:$HOME/.opam/default/bin"
PATH="$PATH:$XDG_DATA_HOME/npm/bin/"
PATH="$PATH:$PNPM_HOME"
# Wayland
# Firefox new touchpad input support.
export MOZ_USE_XINPUT2=1
# Firefox use Wayland instead of XWayland.
export MOZ_ENABLE_WAYLAND=1
export ELECTRON_OZONE_PLATFORM_HINT="wayland"
export OBSIDIAN_USE_WAYLAND=1
# Thicker fonts
export FREETYPE_PROPERTIES="cff:no-stem-darkening=0 autofitter:no-stem-darkening=0"
## EXEC ###
if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then
if [[ $TERM == "xterm-kitty" ]]; then
tmux attach-session -t ssh_tmux || tmux new-session -s ssh_tmux
else
tmux -CC attach-session -t ssh_tmux || tmux -CC new-session -s ssh_tmux
fi
fi