Yet Another Dotfiles Manager
8ba9823407
The awk script now performs all processing in the BEGIN block using an implementation that is capable of handling if statements which contain nested if statments (fixes #436). To make nested ifs look better, if, else and endif lines can now have optional whitespace before {%. Includes are now handled in the same way as the main file which means that included files can both include other files and have if statements in addition to variables (fixes #406). Include lines can now also have optional whitespace before {%. All variables are handled in the same way now so it's now possible to use env variables in if statements (fixes #488). Also add support for != in addition to == (fixes #358). Thus it's now e.g. possible to check if a variable is set (#477) by doing: {% if yadm.class != ""%} Class is set to {{ yadm.class }} {% endif %} A non-existing yadm or env variable is now replaced with the empty string. |
||
---|---|---|
.github | ||
completion | ||
contrib | ||
test | ||
.flake8 | ||
.gitattributes | ||
.gitignore | ||
bootstrap | ||
CHANGES | ||
CONTRIBUTORS | ||
LICENSE | ||
Makefile | ||
pyproject.toml | ||
README.md | ||
yadm | ||
yadm.1 | ||
yadm.md | ||
yadm.spec |
yadm - Yet Another Dotfiles Manager
yadm is a tool for managing dotfiles.
- Based on Git, with full range of Git's features
- Supports system-specific alternative files or templated files
- Encryption of private data using GnuPG, OpenSSL, transcrypt, or git-crypt
- Customizable initialization (bootstrapping)
- Customizable hooks for before and after any operation
Complete features, usage, examples and installation instructions can be found on the yadm.io website.
A very quick tour
# Initialize a new repository
yadm init
# Clone an existing repository
yadm clone <url>
# Add files/changes
yadm add <important file>
yadm commit
# Encrypt your ssh key
echo '.ssh/id_rsa' > ~/.config/yadm/encrypt
yadm encrypt
# Later, decrypt your ssh key
yadm decrypt
# Create different files for Linux vs MacOS
yadm add path/file.cfg##os.Linux
yadm add path/file.cfg##os.Darwin
If you enjoy using yadm, consider adding a star to the repository on GitHub. The star count helps others discover yadm.