Yet Another Dotfiles Manager
Go to file
Tim Byrne 5adb486727
Fix support for multiple GPG recipients (#342)
2021-05-17 15:42:35 -05:00
.github Run "make test" in github workflow 2020-12-30 12:54:13 +01:00
completion Fix compatibility bug with Git completions (#318) 2021-02-07 16:30:27 -06:00
contrib Update version number and update documentation 2021-01-07 09:24:11 -06:00
test Fix support for multiple GPG recipients (#342) 2021-05-17 15:42:35 -05:00
.gitattributes Force `eol=lf` 2017-01-09 16:52:01 -06:00
.gitignore Use a common target to pick yadm to test in test/scripthost 2020-12-30 12:01:40 +01:00
CHANGES Update version number and update documentation 2021-04-03 12:00:02 -05:00
CONTRIBUTORS Update version number and update documentation 2021-04-03 12:00:02 -05:00
LICENSE Update GPLv3 LICENSE information 2019-03-14 18:25:02 -05:00
Makefile Use local version of yadm by default (in testhost/scripthost) 2021-01-02 00:05:00 +01:00
README.md Update version number and update documentation 2021-04-03 12:00:02 -05:00
bootstrap Standardize on &> when not appending output 2019-12-04 22:39:00 -06:00
pylintrc Move min-similarity-lines to new section 2019-10-02 15:16:10 -05:00
pytest.ini Mark deprecated tests 2019-10-02 15:16:09 -05:00
yadm Fix support for multiple GPG recipients (#342) 2021-05-17 15:42:35 -05:00
yadm.1 Update version number and update documentation 2021-04-03 12:00:02 -05:00
yadm.md Update version number and update documentation 2021-04-03 12:00:02 -05:00
yadm.spec Update version number and update documentation 2021-04-03 12:00:02 -05:00

README.md

yadm - Yet Another Dotfiles Manager

Latest Version Homebrew Version OBS Version Arch Version License
Master Update Develop Update Website Update
Master Status Develop Status GH Pages Status Dev Pages Status

https://yadm.io/

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.