1.9 KiB
1.9 KiB
Mein dotfiles
A tidy $HOME
is a tidy mind.
My dotfiles are organized into 2-level topics (e.g. shell/zsh
), and strive for
minimum $HOME
presence (adhering to XDG standards as much as possible).
- Arch Linux
- wm: bspwm
- shell: zsh
- font: kakwafont
- bar: polybar
Quick start
bash <(curl -s https://raw.githubusercontent.com/hlissner/dotfiles/master/bootstrap.sh)
Overview
# general
bin/ # global scripts
assets/ # wallpapers, sounds, screenshots, etc
# categories
base/ # provisions my system with the bare essentials
dev/ # relevant to software development & programming in general
editor/ # configuration for my text editors
misc/ # for various apps & tools
shell/ # shell utilities, including zsh + bash
Dotfile management
Usage: deploy [-acdlLit] [TOPIC...]
-a Target all enabled topics (ignores TOPIC args)
-c Afterwards, remove dead symlinks & empty dot-directories in $HOME.
Can be used alone.
-d Unlink and run `./_init clean` for topic(s)
-l Only relink topic(s) (implies -i)
-L List enabled topics
-i Inhibit install/update/clean init scripts
-t Do a test run; do not actually do anything
e.g.
deploy base/arch shell/{zsh,tmux}
: enables base/arch, shell/zsh, & shell/tmuxdeploy -d shell/zsh
: disables shell/zsh & cleans up after itdeploy -l shell/zsh
: refresh links for shell/zsh (inhibits init script)
Here's a breakdown of what the script does:
cd $topic
if [[ -L $DOTFILES_DATA/${topic//\//.}.topic ]]; then
./_init update
else
ln -sfv $DOTFILES/$topic $DOTFILES_DATA/${topic//\//.}.topic
./_init install
./_init link
fi
Relevant projects
- doom-emacs (pulled by
editor/emacs
) - .vim (pulled by
editor/{neo,}vim
)