yadm - Yet Another Dotfiles Manager
![Latest Version][releases-badge]
![Homebrew Version][homebrew-badge]
![OBS Version][obs-badge]
![Arch Version][arch-badge]
![License][license-badge]
![Master Update][master-date]
![Develop Update][develop-date]
![Website Update][website-date]
![Master Status][master-badge]
![Develop Status][develop-badge]
![GH Pages Status][gh-pages-badge]
![Dev Pages Status][dev-pages-badge]
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.