This file was last exported: {{{time(%Y-%m-%d %H:%M)}}}
My dotfiles setup uses a slightly different setup than most peoples’.
Instead of a repo full of configuration files that people can put into place, my
setup consists of a number of org-mode files that contain source code in them.
Using Emacs they are then ”tangled” to produce specific files. For example, the
zsh.org
file can be tangled to produce the .zshenv
, .zshrc
and other
ZSH-related configuration files.
So how would you use this?
I include the bin/tangle
script, which invokes Emacs in such a manner to
produce the files a particular org file would produce. Generally if you want to
actually use these, you wouldn’t have to do that because I provide a Makefile
that will perform the tangling for you. So generally you could do:
git clone https://github.com/dakrone/dakrone-dotfiles.git ~/dotfiles
cd ~/dotfiles
./bootstrap-packages.sh # see caveats below
make
# And then, if you wanted to symlink the files to be "installed"
make install # or `make force-install` to overwrite files
When an update is posted, I usually do:
cd ~/dotfiles
make
And since the installation consists of symlinks, there is no install needed. Makefile will only regenerate the config files for files that have changes.
The only caveat to this is the bootstrap-packages.sh
file, because this
installs the files necessary for tangling, therefore it needs to be runable
directly from the repo. It can be regenerated however, from bootstrap.org
.