Refactor env vars

This commit is contained in:
rydesun 2022-10-23 01:01:15 +08:00
parent 8a44716d0d
commit e13fec8036
12 changed files with 100 additions and 102 deletions

View file

@ -1,11 +0,0 @@
export LANG=zh_CN.UTF-8
(
sleep 2
# swap Caps_Lock and Escape
setxkbmap -option caps:swapescape
# swap Ctrl_R and Alt_R
setxkbmap -option ctrl:rctrl_ralt
setxkbmap -option ctrl:ralt_rctrl
xbindkeys -f ${XDG_CONFIG_HOME}/xbindkeys/config
) &

View file

@ -1,2 +0,0 @@
#!/bin/sh
exec /usr/bin/Xorg -nolisten tcp -nolisten local -keeptty "$@" vt$XDG_VTNR

View file

@ -1,18 +0,0 @@
#!/bin/sh
resources=${XDG_CONFIG_HOME}/X11/resources
if [ -f "$resources" ]; then xrdb -merge "$resources"; fi
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && source "$f"
done; unset f
fi
source ${XDG_CONFIG_HOME}/X11/profile
systemctl start --user Xorg.target
if [[ -n "$@" ]]; then
xss-lock -- betterlockscreen -l &
exec "$@"
fi

View file

@ -1 +0,0 @@
LANG=zh_CN.UTF-8

View file

@ -1 +0,0 @@
source ${ZDOTDIR}/zprofile

View file

@ -1,4 +0,0 @@
# Autostart X
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
xinit qtile start -b x11
fi

View file

@ -1,64 +0,0 @@
PATH DEFAULT=@{HOME}/.bin
EDITOR DEFAULT=nvim
BROWSER DEFAULT=firefox
MANPAGER DEFAULT="nvim --cmd 'let paging=1' +Man!"
# QT
QT_QPA_PLATFORMTHEME DEFAULT=qt5ct
QT_AUTO_SCREEN_SCALE_FACTOR DEFAULT=0
# fcitx5
GTK_IM_MODULE DEFAULT=fcitx
QT_IM_MODULE DEFAULT=fcitx
XMODIFIERS DEFAULT=\@im=fcitx
INPUT_METHOD DEFAULT=fcitx
SDL_IM_MODULE DEFAULT=fcitx
GLFW_IM_MODULE DEFAULT=ibus
# XDG base directory
XDG_CONFIG_HOME DEFAULT=@{HOME}/.config
XDG_CACHE_HOME DEFAULT=@{HOME}/.cache
XDG_DATA_HOME DEFAULT=@{HOME}/.data
#gpg
GNUPGHOME DEFAULT=${XDG_DATA_HOME}/gnupg
# GTK2
GTK2_RC_FILES DEFAULT=${XDG_CONFIG_HOME}/gtk-2.0/gtkrc
# readline
INPUTRC DEFAULT=${XDG_CONFIG_HOME}/readline/inputrc
# xorg-xauth
XAUTHORITY DEFAULT=${XDG_RUNTIME_DIR}/Xauthority
# X11
XINITRC DEFAULT=${XDG_CONFIG_HOME}/X11/session
XSERVERRC DEFAULT=${XDG_CONFIG_HOME}/X11/serverrc
# less
LESSKEY DEFAULT=${XDG_CONFIG_HOME}/less/lesskey
LESSHISTFILE DEFAULT=${XDG_DATA_HOME}/less/history
# zsh
ZDOTDIR DEFAULT=${XDG_CONFIG_HOME}/zsh
HISTFILE DEFAULT=${XDG_DATA_HOME}/zsh/history
# openssl
RANDFILE DEFAULT=${XDG_DATA_HOME}/openssl/randfile
# sqlite
SQLITE_HISTORY DEFAULT=${XDG_DATA_HOME}/sqlite_history
# rust
CARGO_HOME DEFAULT=${XDG_DATA_HOME}/cargo
RUSTUP_HOME DEFAULT=${XDG_DATA_HOME}/rustup
# golang
GO111MODULE DEFAULT=on
GOPROXY DEFAULT=https://goproxy.cn,direct
GOCACHE DEFAULT=${XDG_CACHE_HOME}/go
GOMODCACHE DEFAULT=${XDG_DATA_HOME}/go
GOPATH DEFAULT=${XDG_DATA_HOME}/go
GOBIN DEFAULT=@{HOME}/.bin/go
# nvm
NVM_DIR DEFAULT=${XDG_DATA_HOME}/nvm
# node
NODE_REPL_HISTORY DEFAULT=${XDG_DATA_HOME}/node_repl_history
# npm
NPM_CONFIG_USERCONFIG DEFAULT=${XDG_CONFIG_HOME}/npm/npmrc
# python
PYTHONSTARTUP DEFAULT=${XDG_CONFIG_HOME}/python/repl_startup.py
PYTHONPYCACHEPREFIX DEFAULT=${XDG_CACHE_HOME}/python
PYTHONUSERBASE DEFAULT=${XDG_DATA_HOME}/python
IPYTHONDIR DEFAULT=${XDG_DATA_HOME}/ipython
JUPYTER_CONFIG_DIR DEFAULT=${XDG_CONFIG_HOME}/jupyter

24
.xinitrc Normal file
View file

@ -0,0 +1,24 @@
#!/bin/sh
# 加载其他软件包提供的配置
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && source "$f"
done; unset f
fi
# 加载Xresources
[ -f ~/.xresources ] && xrdb -merge ~/.xresources
# 加载xprofile
[ -f ~/.xprofile ] && source ~/.xprofile
if [[ -n "$@" ]]; then
# 启动锁屏程序
xss-lock -- betterlockscreen -l &
# 启动所有systemd管理的桌面程序
systemctl start --user Xorg.target
exec "$@"
fi

26
.xprofile Normal file
View file

@ -0,0 +1,26 @@
#!/bin/sh
export LANG=zh_CN.UTF-8
### Qt
export QT_QPA_PLATFORMTHEME=qt5ct
export QT_AUTO_SCREEN_SCALE_FACTOR=0 # 用xrdb手动设置DPI
### Fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
# 同步环境变量到所有systemd将要启动的程序
dbus-update-activation-environment --systemd --all
(
sleep 2
# 交换Caps_Lock和Escape
setxkbmap -option caps:swapescape
# 交换右Ctrl和右Alt
setxkbmap -option ctrl:rctrl_ralt
setxkbmap -option ctrl:ralt_rctrl
) &

3
.xserverrc Normal file
View file

@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/Xorg -nolisten tcp -nolisten local "$@" vt$XDG_VTNR

44
.zprofile Normal file
View file

@ -0,0 +1,44 @@
typeset -U path PATH
path=($path ~/.bin)
export XDG_CONFIG_HOME=~/.config
export XDG_CACHE_HOME=~/.cache
export XDG_DATA_HOME=~/.data
# export XDG_STATE_HOME=~/.state
### Zsh
export ZDOTDIR="$XDG_CONFIG_HOME"/zsh
export HISTFILE="$XDG_DATA_HOME"/zsh/history
### 终端
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
export EDITOR=nvim
export MANPAGER="nvim +Man! --cmd 'let paging=1'"
### GnuPG
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
### 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
# 同步环境变量到所有systemd将要启动的程序
dbus-update-activation-environment --systemd --all
# 自启X环境
if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
xinit qtile start
fi

View file

@ -1,6 +1,8 @@
# Linux 配置 # Linux 配置
使用 `pam_environment` 管理环境变量 ~~使用 `pam_environment` 管理环境变量 (被上游移除。溜了溜了)~~
使用 `zprofile`(zsh) + `xprofile`(xinit) 管理环境变量,
调用 `dbus-update-activation-environment`同步到 systemd
使用 [kitty](https://sw.kovidgoyal.net/kitty/) 虚拟终端 使用 [kitty](https://sw.kovidgoyal.net/kitty/) 虚拟终端