diff options
| author | Warrick Lo <warrick.s.z.lo@gmail.com> | 2021-12-11 23:33:16 -0800 |
|---|---|---|
| committer | Warrick Lo <warrick.s.z.lo@gmail.com> | 2021-12-11 23:33:16 -0800 |
| commit | 487d64163c59fa3de79b5ff1abf303475395c4a2 (patch) | |
| tree | 6339b3c8bbf7bdfe10e8c006c9cfbae9f66f527e | |
| parent | 88de5bcf9b1598c5ada352d1f3b724423bf7e6ad (diff) | |
Restructure entire home directory
The new XDG base directories will resemble the Filesystem Hierarchy
Standard on Linux or the FreeBSD/OpenBSD directory structure. Refer to
the FHS or hier(7).
XDG user directories are defined in $XDG_CONFIG_HOME/user-dirs.dirs.
| -rw-r--r-- | .bashrc | 6 | ||||
| -rw-r--r-- | .profile | 16 | ||||
| -rw-r--r-- | .vim/vimrc (renamed from .vimrc) | 0 | ||||
| -rw-r--r-- | .zshrc | 11 | ||||
| -rw-r--r-- | etc/alacritty/alacritty.yml (renamed from .config/alacritty/alacritty.yml) | 0 | ||||
| -rw-r--r-- | etc/aliasrc (renamed from .config/aliasrc) | 3 | ||||
| -rw-r--r-- | etc/dunst/dunstrc (renamed from .config/dunst/dunstrc) | 0 | ||||
| -rw-r--r-- | etc/gtk-2.0/gtkrc (renamed from .config/gtk-2.0/gtkrc-2.0) | 0 | ||||
| -rw-r--r-- | etc/gtk-3.0/settings.ini (renamed from .config/gtk-3.0/settings.ini) | 0 | ||||
| -rw-r--r-- | etc/gtk-4.0/settings.ini (renamed from .config/gtk-4.0/settings.ini) | 0 | ||||
| -rw-r--r-- | etc/nvim/init.vim (renamed from .config/nvim/init.vim) | 0 | ||||
| -rw-r--r-- | etc/picom/picom.conf (renamed from .config/picom/picom.conf) | 0 | ||||
| -rw-r--r-- | etc/rofi/config.rasi (renamed from .config/rofi/config.rasi) | 0 | ||||
| -rw-r--r-- | etc/rofi/theme.rasi (renamed from .config/rofi/theme.rasi) | 0 | ||||
| -rw-r--r-- | etc/user-dirs.dirs | 8 |
15 files changed, 33 insertions, 11 deletions
@@ -7,12 +7,12 @@ PS1="\[\033[38;5;3m\][\u@\h \w]\[\033[0m\] \$ " shopt -s histappend HISTSIZE=100000 HISTFILESIZE=100000 -HISTFILE="$HOME/.cache/bash/history" +HISTFILE="$XDG_CACHE_HOME/bash/history" # GPG. export GPG_TTY="$(tty)" # Load aliases. -if [ -f "$HOME/.config/aliasrc" ]; then - source "$HOME/.config/aliasrc" +if [ -f "$XDG_CONFIG_HOME/aliasrc" ]; then + source "$XDG_CONFIG_HOME/aliasrc" fi @@ -6,14 +6,24 @@ if [ -d "$HOME/bin" ]; then export PATH="$PATH:$HOME/bin" fi -if [ -d "$HOME/.local/bin" ]; then - export PATH="$PATH:$HOME/.local/bin" -fi # Set environment variables. +# XDG base directories. +export XDG_CONFIG_HOME="$HOME/etc" +export XDG_CACHE_HOME="$HOME/var/cache" +export XDG_DATA_HOME="$HOME/usr/share" +export XDG_STATE_HOME="$HOME/var/lib" + # Set default programs. export TERMINAL="alacritty" export PAGER="less" export EDITOR="nvim" export BROWSER="brave" + +# Clean up home folder. +# Refer to <https://wiki.archlinux.org/title/XDG_Base_Directory>. + +export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" +export GNUPGHOME="$XDG_DATA_HOME/gnupg" +export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc" @@ -11,12 +11,13 @@ PS1="%F{3}[%n@%m %~]%f %(?..%B%F{9}%?%f%b )%(!.#.$) " setopt hist_ignore_dups SAVEHIST=100000 HISTSIZE=100000 -HISTFILE="$HOME/.cache/zsh/history" +HISTFILE="$XDG_CACHE_HOME/zsh/history" # Enable tab completion. autoload -U compinit zstyle ":completion:*" menu select zmodload zsh/complist +compinit -d "$XDG_CACHE_HOME/zsh/zcompdump" # Do not ask before executing 'rm *' or 'rm path/*'. setopt rm_star_silent @@ -28,14 +29,14 @@ bindkey -v "^?" backward-delete-char export GPG_TTY="$(tty)" # Load aliases. -if [ -f "$HOME/.config/aliasrc" ]; then - source "$HOME/.config/aliasrc" +if [ -f "$XDG_CONFIG_HOME/aliasrc" ]; then + source "$XDG_CONFIG_HOME/aliasrc" fi # Load Zsh scripts. -autosuggestions="$HOME/.local/share/zsh/autosuggestions/zsh-autosuggestions.zsh" -syntax_highlight="$HOME/.local/share/zsh/syntax-highlighting/zsh-syntax-highlighting.zsh" +autosuggestions="$XDG_DATA_HOME/zsh/autosuggestions/zsh-autosuggestions.zsh" +syntax_highlight="$XDG_DATA_HOME/zsh/syntax-highlighting/zsh-syntax-highlighting.zsh" if [ -f "$autosuggestions" ]; then source "$autosuggestions" diff --git a/.config/alacritty/alacritty.yml b/etc/alacritty/alacritty.yml index 7c43cb8..7c43cb8 100644 --- a/.config/alacritty/alacritty.yml +++ b/etc/alacritty/alacritty.yml diff --git a/.config/aliasrc b/etc/aliasrc index 4f69c77..e5fdfd3 100644 --- a/.config/aliasrc +++ b/etc/aliasrc @@ -24,5 +24,8 @@ alias vim="nvim" # Clear history (needs to be sourced). alias clhs="source \$HOME/bin/clhs" +# startx does not respect $XINITRC. +alias startx="startx \$XINITRC" + # Alias git bare to manage configuration files. alias cfg="/usr/bin/git --git-dir=\$HOME/cfg --work-tree=\$HOME" diff --git a/.config/dunst/dunstrc b/etc/dunst/dunstrc index 26461fc..26461fc 100644 --- a/.config/dunst/dunstrc +++ b/etc/dunst/dunstrc diff --git a/.config/gtk-2.0/gtkrc-2.0 b/etc/gtk-2.0/gtkrc index c162ac9..c162ac9 100644 --- a/.config/gtk-2.0/gtkrc-2.0 +++ b/etc/gtk-2.0/gtkrc diff --git a/.config/gtk-3.0/settings.ini b/etc/gtk-3.0/settings.ini index 74ba22d..74ba22d 100644 --- a/.config/gtk-3.0/settings.ini +++ b/etc/gtk-3.0/settings.ini diff --git a/.config/gtk-4.0/settings.ini b/etc/gtk-4.0/settings.ini index 74ba22d..74ba22d 100644 --- a/.config/gtk-4.0/settings.ini +++ b/etc/gtk-4.0/settings.ini diff --git a/.config/nvim/init.vim b/etc/nvim/init.vim index 93d9bd5..93d9bd5 100644 --- a/.config/nvim/init.vim +++ b/etc/nvim/init.vim diff --git a/.config/picom/picom.conf b/etc/picom/picom.conf index 326035d..326035d 100644 --- a/.config/picom/picom.conf +++ b/etc/picom/picom.conf diff --git a/.config/rofi/config.rasi b/etc/rofi/config.rasi index f1d8163..f1d8163 100644 --- a/.config/rofi/config.rasi +++ b/etc/rofi/config.rasi diff --git a/.config/rofi/theme.rasi b/etc/rofi/theme.rasi index 698a234..698a234 100644 --- a/.config/rofi/theme.rasi +++ b/etc/rofi/theme.rasi diff --git a/etc/user-dirs.dirs b/etc/user-dirs.dirs new file mode 100644 index 0000000..35a1615 --- /dev/null +++ b/etc/user-dirs.dirs @@ -0,0 +1,8 @@ +XDG_DESKTOP_DIR="$HOME" +XDG_DOWNLOAD_DIR="$HOME/in" +XDG_DOCUMENTS_DIR="$HOME/docs" +XDG_MUSIC_DIR="$HOME/aud/music" +XDG_PICTURES_DIR="$HOME/img" +XDG_VIDEOS_DIR="$HOME/vid" +XDG_TEMPLATES_DIR="$HOME/usr/templates" +XDG_PUBLICSHARE_DIR="$HOME/usr/public" |
