145 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/zsh
 | 
						||
 | 
						||
# 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.
 | 
						||
 | 
						||
# Adds `~/.local/bin` to $PATH
 | 
						||
export PATH="$PATH:$(du "$HOME/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')"
 | 
						||
# Adds cargo bin path to $PATH
 | 
						||
export PATH="$PATH:$(du "$HOME/.local/share/cargo/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')"
 | 
						||
 | 
						||
# Default programs:
 | 
						||
export EDITOR="nvim"
 | 
						||
export TERMINAL="st"
 | 
						||
export BROWSER="qutebrowser"
 | 
						||
export READER="zathura"
 | 
						||
export FILE="ranger"
 | 
						||
export PIC="sxiv"
 | 
						||
export SHELL="zsh"
 | 
						||
 | 
						||
# ~/ Clean-up:
 | 
						||
export XDG_CONFIG_HOME="$HOME/.config"
 | 
						||
export XDG_DATA_HOME="$HOME/.local/share"
 | 
						||
export XDG_CACHE_HOME="$HOME/.cache"
 | 
						||
#export XDG_RUNTIME_DIR="$HOME/.cache/xdg_run" # Messes up Audio for some reason, might be useful to figure out in the future how to fix
 | 
						||
#export XAUTHORITY="$HOME/.cache/xdg_run/Xauthority" # This line will break some DMs.
 | 
						||
export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/notmuch-config"
 | 
						||
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
 | 
						||
export LESSHISTFILE="-"
 | 
						||
export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
 | 
						||
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/inputrc"
 | 
						||
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
 | 
						||
export ALSA_CONFIG_PATH="$XDG_CONFIG_HOME/alsa/asoundrc"
 | 
						||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
 | 
						||
#export GNUPGHOME="$HOME/.gnupg"
 | 
						||
export WINEPREFIX="${XDG_DATA_HOME:-$HOME/.local/share}/wineprefixes/default"
 | 
						||
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
 | 
						||
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
 | 
						||
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
 | 
						||
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
 | 
						||
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
 | 
						||
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
 | 
						||
export ANSIBLE_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/ansible/ansible.cfg"
 | 
						||
export SSB_HOME="$XDG_DATA_HOME/zoom"
 | 
						||
export PASSWORD_STORE_GPG_OPTS='--homedir=/home/alex/.local/share/gnupg'
 | 
						||
 | 
						||
 | 
						||
# XDG USER DIRECOTRIES
 | 
						||
export XDG_DESKTOP_DIR="$HOME"
 | 
						||
export XDG_DOCUMENTS_DIR="$HOME/dox"
 | 
						||
export XDG_DOWNLOAD_DIR="$HOME/dl"
 | 
						||
export XDG_MUSIC_DIR="$HOME/msc"
 | 
						||
export XDG_PICTURES_DIR="$HOME/pics"
 | 
						||
export XDG_VIDEOS_DIR="$HOME/vids"
 | 
						||
 | 
						||
# Other program settings:
 | 
						||
export DICS="/usr/share/stardict/dic/"
 | 
						||
export SUDO_ASKPASS="$HOME/.local/bin/dmenupass"
 | 
						||
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
 | 
						||
export LESS=-R
 | 
						||
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
 | 
						||
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
 | 
						||
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
 | 
						||
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
 | 
						||
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
 | 
						||
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
 | 
						||
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
 | 
						||
export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
 | 
						||
export QT_QPA_PLATFORMTHEME="gtk2"	# Have QT use gtk2 theme.
 | 
						||
export MOZ_USE_XINPUT2="1"		# Mozilla smooth scrolling/touchpads.
 | 
						||
export _JAVA_AWT_WM_NONREPARENTING=1	# Java doesn't understand tiling windows
 | 
						||
export AWT_TOOLKIT="MToolkit wmname LG3D"	#May have to install wmname
 | 
						||
 | 
						||
# This is the list for lf icons:
 | 
						||
export LF_ICONS="di=📁:\
 | 
						||
fi=📃:\
 | 
						||
tw=🤝:\
 | 
						||
ow=📂:\
 | 
						||
ln=⛓:\
 | 
						||
or=❌:\
 | 
						||
ex=🎯:\
 | 
						||
*.txt=✍:\
 | 
						||
*.mom=✍:\
 | 
						||
*.me=✍:\
 | 
						||
*.ms=✍:\
 | 
						||
*.png=🖼:\
 | 
						||
*.ico=🖼:\
 | 
						||
*.jpg=📸:\
 | 
						||
*.jpeg=📸:\
 | 
						||
*.gif=🖼:\
 | 
						||
*.svg=🗺:\
 | 
						||
*.xcf=🖌:\
 | 
						||
*.html=🌎:\
 | 
						||
*.xml=📰:\
 | 
						||
*.gpg=🔒:\
 | 
						||
*.css=🎨:\
 | 
						||
*.pdf=📚:\
 | 
						||
*.djvu=📚:\
 | 
						||
*.epub=📚:\
 | 
						||
*.csv=📓:\
 | 
						||
*.xlsx=📓:\
 | 
						||
*.tex=📜:\
 | 
						||
*.md=📘:\
 | 
						||
*.r=📊:\
 | 
						||
*.R=📊:\
 | 
						||
*.rmd=📊:\
 | 
						||
*.Rmd=📊:\
 | 
						||
*.mp3=🎵:\
 | 
						||
*.opus=🎵:\
 | 
						||
*.ogg=🎵:\
 | 
						||
*.m4a=🎵:\
 | 
						||
*.flac=🎼:\
 | 
						||
*.mkv=🎥:\
 | 
						||
*.mp4=🎥:\
 | 
						||
*.webm=🎥:\
 | 
						||
*.mpeg=🎥:\
 | 
						||
*.avi=🎥:\
 | 
						||
*.zip=📦:\
 | 
						||
*.rar=📦:\
 | 
						||
*.7z=📦:\
 | 
						||
*.tar.gz=📦:\
 | 
						||
*.z64=🎮:\
 | 
						||
*.v64=🎮:\
 | 
						||
*.n64=🎮:\
 | 
						||
*.1=ℹ:\
 | 
						||
*.nfo=ℹ:\
 | 
						||
*.info=ℹ:\
 | 
						||
*.log=📙:\
 | 
						||
*.iso=📀:\
 | 
						||
*.img=📀:\
 | 
						||
*.bib=🎓:\
 | 
						||
*.ged=👪:\
 | 
						||
*.part=💔:\
 | 
						||
*.torrent=🔽:\
 | 
						||
"
 | 
						||
 | 
						||
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shortcutrc ] && shortcuts >/dev/null 2>&1 &
 | 
						||
 | 
						||
# Start graphical server on tty1 if not already running.
 | 
						||
[ "$(tty)" = "/dev/tty1" ] && ! ps -e | grep -qw Xorg && exec startx
 | 
						||
 | 
						||
# Switch escape and caps if tty and no passwd required:
 | 
						||
sudo -n loadkeys ${XDG_DATA_HOME:-$HOME/.local/share}/larbs/ttymaps.kmap 2>/dev/null
 |