Deploy
------
Like so:
./RUNME.sh
RUNME.sh checks whether Ansible is available and runs it.
Motivation
----------
Things a dotfiles project must do for me:
1. Provide a folder for my dotfiles. I want to store `~/.bashrc` as
`~/dotfiles/bashrc`.
2. Let me store my bash-related stuff in lots of files, and
have my .bashrc automaticallly source them all.
3. Let me store my zsh-related stuff in lots of files, and
have my .zshrc automaticallly source them all.
4. (Optional) Let me deploy my dotfiles. (With a single command? Perhaps
I don't mind running `ln -s` manually.)
With my previous dotfiles system, the 1st organisation level was the
topic (vim, system, zsh, bash). This was fine in theory, but led to:
* shell snippets strewn over many directories, instead of many files in
one directory.
* Many shell snippets with different stuff in one directory. The
`dotfiles/hg` folder might contain `hg.bash`, `hg.zsh`, `hg.allsh`, and
`hgrc.symlink`
So, my new dotfiles will have, directly under the top level:
* one folder for all zsh-related dotfiles,
* one folder for all bash-related dotfiles,
* program config files (ackrc, lessrc, etc)
This gives a directory layout like so:
~/dotfiles
|-- README.markdown
|-- ackrc
|-- hg
| |-- hgrc
| `-- hg-prompt/...
|-- zsh/
| |-- zshrc
| `-- zshrc.d/
| `-- hg.zsh
| `-- stuff.zsh
|-- bash/
| |-- bashrc
| `-- bashrc.d
| |-- hg.bash
| `-- bother.bash
`-- vim/
|-- vimrc
`-- bundle/
|-- yankring/...
`-- ...
Which deploys like so (`->` denotes a symlink):
~/
|-- .ackrc -> ...
|-- .hgrc -> ...
|-- .zshrc -> ... (sources ~/dotfiles/zshrc.d/)
|-- .bashrc -> ... (sources ~/dotfiles/bashrc.d/)
|-- .vim/ -> ...
| |-- bundle/
| `-- yankring/
`-- .vimrc -> ...