rydesun/.zprofile
2025-04-13 21:50:44 +08:00

113 lines
3.3 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

typeset -U path PATH
path=($path ~/.bin)
### XDG目录
if [[ "$HOME" == */ ]]; then HOME=${HOME:0:-1}; fi
export XDG_CONFIG_HOME=$HOME/.config
export XDG_CACHE_HOME=$HOME/.cache
export XDG_DATA_HOME=$HOME/.data
export XDG_STATE_HOME=$HOME/.state
### Flatpak安装的程序
# 由于修改了 $XDG_DATA_HOME 的位置,
# 并且 /etc/profile.d/flatpak.sh 和 /etc/profile.d/flatpak-bindir.sh
# 两个文件读取 $XDG_DATA_HOME 早于 ~/.zprofile 修改 $XDG_DATA_HOME
# 所以这两个文件没有成功设置目录在修改后的 $XDG_DATA_HOME。
# 需要手动添加至 $XDG_DATA_DIRS 和 $PATH
FLATPAK_DATA_DIR="$XDG_DATA_HOME"/flatpak/exports/share
FLATPAK_BIN_DIR="$XDG_DATA_HOME"/flatpak/exports/bin
[[ -d "$FLATPAK_DATA_DIR" ]] && \
XDG_DATA_DIRS="$FLATPAK_DATA_DIR":"$XDG_DATA_DIRS"
[[ -d "$FLATPAK_BIN_DIR" ]] && path=("$FLATPAK_BIN_DIR" $path)
### Flatpak中的Steam安装的程序
STEAM_DESKTOP=~/.var/app/com.valvesoftware.Steam/.local/share/
[[ -d "$STEAM_DESKTOP" ]] && \
XDG_DATA_DIRS="$STEAM_DESKTOP":"$XDG_DATA_DIRS"
# 修复steam程序名
if [[ -f "$FLATPAK_BIN_DIR"/com.valvesoftware.Steam ]]; then
[[ ! -f "$FLATPAK_BIN_DIR"/steam ]] && \
ln -s com.valvesoftware.Steam "$FLATPAK_BIN_DIR"/steam
else
[[ -f "$FLATPAK_BIN_DIR"/steam ]] && rm "$FLATPAK_BIN_DIR"/steam
fi
### 默认程序
export EDITOR=nvim
export BROWSER=firefox
### Zsh
export HISTFILE="$XDG_DATA_HOME"/zsh/history
### 终端
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
export MANPAGER="nvim +Man!"
### GnuPG
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
### Go
export GOPATH="$XDG_DATA_HOME"/go
### Javascript
export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
### Python
export PYTHONSTARTUP="$XDG_CONFIG_HOME"/python/repl_startup.py
export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME"/python
export PYTHONUSERBASE="$XDG_DATA_HOME"/python
export IPYTHONDIR="$XDG_DATA_HOME"/ipython
### Rust
export CARGO_HOME="$XDG_DATA_HOME"/cargo
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
### SQLite
export SQLITE_HISTORY="$XDG_DATA_HOME"/sqlite_history
# {{{ 图形环境
export XDG_MENU_PREFIX=plasma-
# 鼠标主题
export XCURSOR_PATH="$XDG_DATA_HOME"/icons:/usr/share/icons
### Qt
# 无桌面环境用qt5ct配置Qt主题
export QT_QPA_PLATFORMTHEME=qt5ct
# 禁止Qt自动缩放。用xrdb手动设置DPI
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_ENABLE_HIGHDPI_SCALING=0
### GTK
# 配合xdg-desktop-portal-kde使用
export GTK_USE_PORTAL=1
### Fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
# Kitty需要该变量
export GLFW_IM_MODULE=ibus
# }}}
# 同步所有环境变量到所有systemd将要启动的程序
command -v dbus-update-activation-environment &>/dev/null && \
dbus-update-activation-environment --systemd --all 2>/dev/null
# NOTE: 直接在登录shell中自启桌面环境
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
# 只在桌面环境使用中文
command -v dbus-update-activation-environment &>/dev/null && \
dbus-update-activation-environment --systemd LANG=zh_CN.UTF-8 2>/dev/null
if true; then
LANG=zh_CN.UTF-8 xinit qtile start
else
LANG=zh_CN.UTF-8 qtile start -b wayland
fi
fi
# vim:foldmethod=marker