mirror of
https://github.com/TheLocehiliosan/yadm
synced 2024-10-27 20:34:27 +00:00
d2cd138f32
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 %} Possible breaking change: An error will be issued if a non-existent yadm or env variable is referenced in an if statement or in a variable substitution. |
||
---|---|---|
.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.