dotfiles/README.md

47 lines
1.8 KiB
Markdown
Raw Normal View History

2018-12-17 00:16:37 -06:00
# dotfiles
My personal dotfiles and configurations, generated from Jinja2 templates.
2018-12-17 00:16:37 -06:00
2018-12-17 00:37:44 -06:00
## Contents
2018-12-17 00:16:37 -06:00
- `install.py` - The script that generates and installs the templates. (Requires
the virtual environment specified using Pipenv)
2020-06-23 14:55:45 -05:00
- `install` - Updates submodules and runs `pipenv run install.py "$@"`.
- `hosts/` - Host-specific configuration files.
2020-06-23 14:55:45 -05:00
2019-01-29 16:29:42 -06:00
- `templates/` - The set of base template files.
2018-12-17 00:16:37 -06:00
2020-06-23 14:55:45 -05:00
- `raw/` - Raw files to be copied directly to the home directory (useful for submodules).
2018-12-17 00:37:44 -06:00
## How it works
2018-12-17 00:37:44 -06:00
The host configuration is parsed from the file in `hosts/` that corresponds to
the hostname. This file mainly contains system information like the size and
position of monitors and the names of the built-in network interfaces.
2018-12-17 00:37:44 -06:00
Then, for each file in the `templates/` directory (recursively), the script will
parse and render it as a Jinja2 template with the host's configuration as an
input variable. The result will be written to the same path but relative to the
home directory. Any `.j2` file suffix will also be automatically stripped.
2018-12-17 00:37:44 -06:00
## Installation
2019-01-30 01:52:41 -06:00
Made easy by the `install` script. Use `install --help` to see customization
options.
2019-01-30 01:52:41 -06:00
Before running, set up the Python virtual environment with `pipenv install`.
2019-01-30 01:52:41 -06:00
## Questions/Comments/Contributing
2018-12-17 00:37:44 -06:00
At the time of writing, this project is hosted on a Forgejo instance at
<https://forge.gaussian.dev>. Because Forgejo [doesn't yet][federation-roadmap]
support federated issues/PRs, I am accepting any comments or patches at
`adam@gaussian.dev`. If you want to send a patch and don't know how, a simple
text file attachment with the contents of `git show` will work. However, if
you're already familiar with [`git send-email`], that is also fine with me!
2018-12-17 00:37:44 -06:00
[federation-roadmap]: https://codeberg.org/forgejo-contrib/federation
[`git send-email`]: https://git-send-email.io