30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# `${HOME}/.dotfiles`
|
|
|
|
Version control for dotfiles and templates.
|
|
|
|
## Purpose
|
|
|
|
`${HOME}/.config` and `${HOME}` are a nightmare to version control. Maintaining a distinct dotfile directory then linking to those files is a much more sane way to cordon them off from the rest of the mess.
|
|
|
|
## Usage
|
|
|
|
Make changes and maintain dotfiles in this directory.
|
|
|
|
TODO: Everything below
|
|
Define symlinks or dumper within the `.links` file.
|
|
|
|
Run `${HOME}/scripts/update_configs.pl` to refresh links and dump templates.
|
|
|
|
## Details
|
|
|
|
### `.links`
|
|
|
|
This file contains a JSON hash of the configuration files available with either a path to be linked, or the name of a dumper contained within [`${HOME}/scripts/dotfiles`](https://git.john.me.tz/jpm/scripts).
|
|
|
|
### `${HOME}/.spool/dotfiles.json`
|
|
|
|
This file contains a JSON hash of timestamps at which each configuration was last linked or dumped. The `${HOME}/scripts/update_configs.pl` script will use these times to know whether or not they need to be updated. It will do so if:
|
|
|
|
* it is a linked configuration file and the `.links` file has been updated since it was last linked.
|
|
* it is a dumpable template and the template has been updated since the last logged event.
|