Find a file
2017-12-06 01:39:10 -05:00
assets Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
base Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
bin Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
browser/userstyles Clean up browsers topic 2017-04-25 23:12:12 -04:00
dev Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
editor Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
misc Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
shell Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
bootstrap.sh Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
deploy Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
env Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00
LICENSE Update license 2017-01-06 17:39:22 -05:00
README.md Dotfiles bankruptcy and rewrite! All hail, v2.0 2017-12-06 01:39:10 -05:00

Mein dotfiles

A tidy $HOME is a tidy mind.

Oct-2017 Screenshot of Arch Linux

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/tmux
  • deploy -d shell/zsh: disables shell/zsh & cleans up after it
  • deploy -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)