2017-12-05 22:39:10 -08:00
|
|
|
# Mein dotfiles
|
2017-09-02 10:01:00 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
A tidy `$HOME` is a tidy mind.
|
2013-03-01 01:47:00 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
![Oct-2017 Screenshot of Arch Linux](assets/screenshots/OCT2017.png)
|
2016-10-19 07:56:37 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
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).
|
2016-10-19 07:56:37 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
+ Arch Linux
|
|
|
|
+ wm: bspwm
|
|
|
|
+ shell: zsh
|
|
|
|
+ font: kakwafont
|
|
|
|
+ bar: polybar
|
2016-10-19 07:56:37 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
## Quick start
|
2016-10-19 07:56:37 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
`bash <(curl -s https://raw.githubusercontent.com/hlissner/dotfiles/master/bootstrap.sh)`
|
2016-10-19 07:56:37 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
## Overview
|
2016-11-14 17:20:36 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
```sh
|
|
|
|
# general
|
|
|
|
bin/ # global scripts
|
|
|
|
assets/ # wallpapers, sounds, screenshots, etc
|
2016-11-14 17:20:36 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
# 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
|
|
|
|
```
|
2016-11-14 17:20:36 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
## Dotfile management
|
2016-10-19 07:56:37 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
```
|
|
|
|
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
|
2016-12-23 15:21:26 -08:00
|
|
|
```
|
2016-11-14 17:20:36 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
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)
|
2016-11-14 17:20:36 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
Here's a breakdown of what the script does:
|
2016-11-14 17:20:36 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
``` sh
|
|
|
|
cd $topic
|
|
|
|
if [[ -L $DOTFILES_DATA/${topic//\//.}.topic ]]; then
|
|
|
|
./_init update
|
|
|
|
else
|
|
|
|
ln -sfv $DOTFILES/$topic $DOTFILES_DATA/${topic//\//.}.topic
|
2016-11-14 17:20:36 -08:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
./_init install
|
|
|
|
./_init link
|
|
|
|
fi
|
2016-11-14 17:20:36 -08:00
|
|
|
```
|
2016-03-22 15:20:13 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
## Relevant projects
|
2016-03-22 15:20:13 -07:00
|
|
|
|
2017-12-05 22:39:10 -08:00
|
|
|
+ [doom-emacs](https://github.com/hlissner/doom-emacs) (pulled by `editor/emacs`)
|
|
|
|
+ [.vim](https://github.com/hlissner/.vim) (pulled by `editor/{neo,}vim`)
|