summaryrefslogtreecommitdiff
path: root/.config/zsh/.zshrc
diff options
context:
space:
mode:
authorgarhve <git@garhve.com>2024-09-16 11:47:28 +0800
committergarhve <git@garhve.com>2024-09-16 11:47:28 +0800
commitbcfda983efdd527f75de54c35f5366f23e774233 (patch)
tree13df9f98cd06f78dbfa666b0e0e834346c76c247 /.config/zsh/.zshrc
initialize
Diffstat (limited to '.config/zsh/.zshrc')
-rw-r--r--.config/zsh/.zshrc76
1 files changed, 76 insertions, 0 deletions
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc
new file mode 100644
index 0000000..b2ad552
--- /dev/null
+++ b/.config/zsh/.zshrc
@@ -0,0 +1,76 @@
+# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.config/zsh/.zshrc.
+# Initialization code that may require console input (password prompts, [y/n]
+# confirmations, etc.) must go above this block; everything else may go below.
+if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
+ source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
+fi
+
+# Useful scripts
+addr="127.0.0.1:7897"
+alias pro="export http_proxy=$addr && export https_proxy=$addr"
+alias upro="unset http_proxy && unset https_proxy"
+alias music='tmux new-session -s $$ "tmux source-file ~/.config/ncmpcpp/tsession"'
+alias wget="wget --hsts-file ~/.cache/wget-hsts"
+alias dotfiles='/usr/bin/git --git-dir="$HOME/.local/dotfiles" --work-tree="$HOME"'
+
+# Export PATH
+#export PATH="$PATH:/home/pico/data/codes/scripts:/home/pico/.local/share/cargo/bin"
+export PATH="$PATH:/home/pico/data/codes/scripts"
+
+# XDG_BASE_DIR
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_CACHE_HOME="$HOME/.cache"
+export XDG_DATA_HOME="$HOME/.local/share"
+export XDG_STATE_HOME="$HOME/.local/state"
+
+# XDG_USER_DIR
+export XDG_DESKTOP_DIR="$HOME/data/desktop"
+export XDG_DOCUMENTS_DIR="$HOME/data/documents"
+export XDG_DOWNLOAD_DIR="$HOME/data/downloads"
+export XDG_MUSIC_DIR="$HOME/data/music"
+export XDG_PICTURES_DIR="$HOME/data/pictures"
+export XDG_PUBLICSHARE_DIR="$HOME/data/public"
+export XDG_TEMPLATES_DIR="$HOME/data/templates"
+export XDG_VIDEOS_DIR="$HOME/data/videos"
+
+# export env variables
+export ZIM_CONFIG_FILE="$HOME/.config/zsh/zimrc"
+export ZIM_HOME="$XDG_DATA_HOME/zim"
+export ZDOTDIR="$HOME/.config/zsh"
+export VIMINIT="source ~/.config/vim/vimrc"
+export GNUPGHOME="$HOME/.config/gnupg"
+export TERM=xterm-256color
+export LESSHISTFILE="$HOME/.cache/lesshst"
+export PASSWORD_STORE_DIR="$HOME/.local/pass"
+export CARGO_HOME="$XDG_DATA_HOME/cargo"
+export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
+export GOPATH="$XDG_DATA_HOME/go"
+export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
+export XINITRC="$XDG_CONFIG_HOME/X11/xerverrc"
+export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc"
+export FEHBG_PATH="$XDG_CONFIG_HOME/feh/fehbg"
+export EDITOR="vim"
+
+# Download zimfw plugin manager if missing.
+if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then
+ curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \
+ https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
+fi
+
+# Install missing modules and update ${ZIM_HOME}/init.zsh if missing or outdated.
+if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZIM_CONFIG_FILE:-${ZDOTDIR:-${HOME}}/.zimrc} ]]; then
+ source ${ZIM_HOME}/zimfw.zsh init -q
+fi
+
+# Initialize modules.
+source ${ZIM_HOME}/init.zsh
+
+# To customize prompt, run `p10k configure` or edit ~/.config/zsh/.p10k.zsh.
+[[ ! -f ~/.config/zsh/.p10k.zsh ]] || source ~/.config/zsh/.p10k.zsh
+
+export GPG_TTY=$TTY
+#unset SSH_AGENT_PID
+if [ "${gnupg_SSH_AUTH_SOCK_BY:-0}" -ne $$ ]; then
+ export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
+fi
+gpgconf --launch gpg-agent