helm/README.md

67 lines
1.9 KiB
Markdown
Raw Normal View History

2016-03-03 08:03:47 -08:00
# Henrik's dotfiles
2016-03-22 15:20:13 -07:00
[![MIT](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE)
2013-03-01 01:47:00 -08:00
2016-11-09 04:38:26 -08:00
<img src="http://i.giphy.com/ZHlGzvZb130nm.gif" align="right" />
2016-10-19 07:56:37 -07:00
2017-01-16 19:34:08 -08:00
My dotfiles. Fuel for my madness. Designed for MacOS, Arch Linux and the various
debian-based boxes I frequently ssh into.
2016-10-19 07:56:37 -07:00
2017-01-16 19:34:08 -08:00
It is organized into topics, some with their own READMEs. Check them out for more
targeted information. The `./boostrap` script is used to install and update them.
2016-10-19 07:56:37 -07:00
## Bootstrap
2016-10-19 07:56:37 -07:00
2016-12-23 15:21:26 -08:00
`bootstrap` is my idempotent dotfile deployment script.
2016-10-19 07:56:37 -07:00
2016-12-23 15:21:26 -08:00
e.g. `./bootstrap os/arch shell/{zsh,tmux} dev/python`
```
2017-01-03 00:57:35 -08:00
Usage: bootstrap [-iuldypLSU] [topic1[ topic2[ ...]]]
Options:
-i Don't run install scripts
-u Don't run update scripts
2017-01-16 19:34:08 -08:00
-l Don't symlink dotfiles
2017-01-03 00:57:35 -08:00
-d Do a dry run (only output commands, no changes)
-y Overwrite conflicts (no prompts)
2017-01-03 00:57:35 -08:00
-p Prompt on file conflict (to overwrite)
-L Refresh links; the same as -ui
-S Server mode; only install the bare minimum
-U Update mode; run update scripts only
```
2016-12-23 15:21:26 -08:00
Here's a simplified break down of what it does:
2016-12-23 15:21:26 -08:00
```bash
2017-01-16 19:34:08 -08:00
# 1. Symlinks dotfiles to $HOME
2016-12-23 15:21:26 -08:00
ln -sfv $topic/.* ~/
2017-01-16 19:34:08 -08:00
ln -sfv $topic/.{config,local}/* ~/.{config,local}/
2016-10-19 07:56:37 -07:00
2017-01-16 19:34:08 -08:00
# 2. Track enabled topics in ~/.dotfiles/.enabled.d.
# 3. If topic is enabled, run its update script. Otherwise, run its install script
2016-12-23 15:21:26 -08:00
if [[ -e ~/.dotfiles/.enabled.d/$topic ]]; then
$topic/update
else
ln -sfv $topic ~/.dotfiles/.enabled.d/
$topic/install
fi
```
## Clean
2016-12-23 15:21:26 -08:00
`clean` will delete broken symlinks in `$HOME`, and can "disable" all topics by removing
their symlinks in `.enabled.d/`.
```
Usage: clean [-du]
Options:
-d Do a dry run (only output commands, no changes)
-u Uninstall all enabled topics
```
2016-03-22 15:20:13 -07:00
2016-12-23 15:21:26 -08:00
## Other Relevant Configs
2016-03-22 15:20:13 -07:00
2016-12-23 15:21:26 -08:00
+ [Vim](https://github.com/hlissner/.vim) (pulled in by the `editor/vim` topic)
+ [Emacs](https://github.com/hlissner/.emacs.d) (pulled in by the `editor/emacs` topic)