| bin | ||
| config | ||
| modules | ||
| themes | ||
| configuration.aka.nix | ||
| configuration.ao.nix | ||
| configuration.kuro.nix | ||
| configuration.shiro.nix | ||
| default.nix | ||
| deploy | ||
| LICENSE | ||
| README.md | ||
Mein dotfiles
A tidy $HOME is a tidy mind.
These are my dotfiles, designed primarily for Arch Linux, MacOS and debian. They
are my specific breed of madness, split into 2-level topics (e.g. shell/zsh)
that strive for minimum $HOME presence (adhering to XDG standards where
possible).
- 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/tmux
- deploy -d shell/zsh: disables shell/zsh & cleans up after it
- deploy -l shell/zsh: refresh links for shell/zsh (inhibits init script)
- deploy -l: relink all enabled topics
- deploy -L: list all enabled topics
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)
- My vim config (pulled by editor/{neo,}vim)
