summaryrefslogtreecommitdiffstats
path: root/dot_config/zsh/dot_zshenv
blob: 19d3b96615aa235c2c60caaaa3d6534e96414fa0 (plain) (blame)
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#!/usr/bin/env zsh
# profile file. Runs on login. Environmental variables are set here.

# If you don't plan on reverting to bash, you can remove the link in ~/.profile
# to clean up.

export FPATH="$FPATH:${XDG_DATA_HOME:-$HOME/.local/share/zsh/site-functions}"

unsetopt PROMPT_SP

# Default programs for SSH or not
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
	export BROWSER="chromium"
	# shellcheck disable=SC2015
	[ -n "$DISPLAY" ] && export EDITOR="code -nw" || export EDITOR="nvim +star"
else
	export BROWSER="w3m"
	export EDITOR="nvim +star"
fi

export VISUAL="$EDITOR"

# ~/ Clean-up (XDG):
[ -z "$XDG_CONFIG_HOME" ] && export XDG_CONFIG_HOME="$HOME/.config"
[ -z "$XDG_DATA_HOME" ] && export XDG_DATA_HOME="$HOME/.local/share"
[ -z "$XDG_CACHE_HOME" ] && export XDG_CACHE_HOME="$HOME/.cache"
[ -z "$XDG_STATE_HOME" ] && export XDG_STATE_HOME="$HOME/.local/state"
[ -z "$XDG_BIN_HOME" ] && export XDG_BIN_HOME="$HOME/.local/bin"
[ -z "$XDG_RUNTIME_DIR" ] && export XDG_RUNTIME_DIR="/run/user/$UID"

export DO_NOT_TRACK=1
export USERXSESSION="$XDG_CACHE_HOME"/X11/xsession
export USERXSESSIONRC="$XDG_CACHE_HOME"/X11/xsessionrc
export ALTUSERXSESSION="$XDG_CACHE_HOME"/X11/Xsession
export ERRFILE="$XDG_CACHE_HOME"/X11/xsession-errors
export GPG_TTY=$TTY
export XINITRC="$XDG_CONFIG_HOME"/x11/xinitrc
# this breaks X forwarding over SSH
#export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" # This line will break some DMs.
export NOTMUCH_CONFIG="$XDG_CONFIG_HOME"/notmuch-config
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc-2.0
export LESSHISTFILE="-"
export WGETRC="$XDG_CONFIG_HOME"/wget/wgetrc
export INPUTRC="$XDG_CONFIG_HOME"/shell/inputrc
export ZDOTDIR="$XDG_CONFIG_HOME"/zsh
export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
export DOTNET_CLI_HOME="$XDG_DATA_HOME"/dotnet
export ALSA_CONFIG_PATH="$XDG_CONFIG_HOME"/alsa/asoundrc
export MIX_HOME="$XDG_DATA_HOME"/mix
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default
export KODI_DATA="$XDG_DATA_HOME"/kodi
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/password-store
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
export ANDROID_SDK_HOME="$XDG_CONFIG_HOME"/android
export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
export CARGO_HOME="$XDG_DATA_HOME"/cargo
export GOBIN="$XDG_BIN_HOME"
export GOPATH="$XDG_DATA_HOME"/go
export GOMODCACHE="$XDG_CACHE_HOME"/go/mod
export VOLTA_HOME="$XDG_DATA_HOME"/volta
export PNPM_HOME="$XDG_DATA_HOME"/pnpm
#export DENO_INSTALL_ROOT="${XDG_BIN_HOME:-$HOME/.local/bin}
export ANSIBLE_CONFIG="$XDG_CONFIG_HOME"/ansible/ansible.cfg
export UNISON="$XDG_DATA_HOME"/unison
export HISTFILE="$XDG_DATA_HOME"/history
export WEECHAT_HOME="$XDG_CONFIG_HOME"/weechat
export MBSYNCRC="$XDG_CONFIG_HOME"/mbsync/config
export ELECTRUMDIR="$XDG_DATA_HOME"/electrum
export OCTAVE_SITE_INITFILE="$XDG_CONFIG_HOME"/octave/octaverc
export OCTAVE_HISTFILE="$XDG_CACHE_HOME"/octave/octave_hist
export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority
export HISTORY_IGNORE="(ls|cd|pwd|exit|sudo reboot|history|cd -|cd ..|clear|fg)"
export GDBHISTFILE="$XDG_DATA_HOME"/gdb/history
export SONARLINT_USER_HOME="$XDG_DATA_HOME"/sonarlint
export OMNISHARPHOME="$XDG_CONFIG_HOME"/omnisharp
export MIX_XDG=true
export TERMINFO="$XDG_DATA_HOME"/terminfo
export TEXMFVAR="$XDG_CACHE_HOME"/texlive/texmf-var
export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME"/aws/credentials
export AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config
export AZURE_CONFIG_DIR="$XDG_DATA_HOME"/azure
export RIPGREP_CONFIG_PATH="$XDG_CONFIG_HOME"/ripgrep/config
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle
export BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle
export BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle

# Other program settings:
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
export LESS=-R
export LESS_TERMCAP_mb="$(printf '%b' '')"
export LESS_TERMCAP_md="$(printf '%b' '')"
export LESS_TERMCAP_me="$(printf '%b' '')"
export LESS_TERMCAP_so="$(printf '%b' '')"
export LESS_TERMCAP_se="$(printf '%b' '')"
export LESS_TERMCAP_us="$(printf '%b' '')"
export LESS_TERMCAP_ue="$(printf '%b' '')"
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
export QT_QPA_PLATFORMTHEME="qt5ct"       # Have QT use gtk2 theme.
export MOZ_USE_XINPUT2="1"                # Mozilla smooth scrolling/touchpads.
export AWT_TOOLKIT="MToolkit wmname LG3D" #May have to install wmname
export _JAVA_AWT_WM_NONREPARENTING=1      # Fix for Java applications in dwm
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java

# This is the list for lf icons:
export LF_ICONS="di=📁:\
fi=📃:\
tw=🤝:\
ow=📂:\
ln=⛓:\
or=❌:\
ex=🎯:\
*.txt=✍:\
*.mom=✍:\
*.me=✍:\
*.ms=✍:\
*.png=🖼:\
*.webp=🖼:\
*.ico=🖼:\
*.jpg=📸:\
*.jpe=📸:\
*.jpeg=📸:\
*.gif=🖼:\
*.svg=🗺:\
*.tif=🖼:\
*.tiff=🖼:\
*.xcf=🖌:\
*.html=🌎:\
*.xml=📰:\
*.gpg=🔒:\
*.css=🎨:\
*.pdf=📚:\
*.djvu=📚:\
*.epub=📚:\
*.csv=📓:\
*.xlsx=📓:\
*.tex=📜:\
*.md=📘:\
*.r=📊:\
*.R=📊:\
*.rmd=📊:\
*.Rmd=📊:\
*.m=📊:\
*.mp3=🎵:\
*.opus=🎵:\
*.ogg=🎵:\
*.m4a=🎵:\
*.flac=🎼:\
*.wav=🎼:\
*.mkv=🎥:\
*.mp4=🎥:\
*.webm=🎥:\
*.mpeg=🎥:\
*.avi=🎥:\
*.mov=🎥:\
*.mpg=🎥:\
*.wmv=🎥:\
*.m4b=🎥:\
*.flv=🎥:\
*.zip=📦:\
*.rar=📦:\
*.7z=📦:\
*.tar.gz=📦:\
*.z64=🎮:\
*.v64=🎮:\
*.n64=🎮:\
*.gba=🎮:\
*.nes=🎮:\
*.gdi=🎮:\
*.1=ℹ:\
*.nfo=ℹ:\
*.info=ℹ:\
*.log=📙:\
*.iso=📀:\
*.img=📀:\
*.bib=🎓:\
*.ged=👪:\
*.part=💔:\
*.torrent=🔽:\
*.jar=♨:\
*.java=♨:\
"