Yet Another Dotfiles Manager
Find a file
2022-02-21 14:09:57 -06: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 fix: Find symlinks in bootstrap-in-dir 2021-05-06 20:11:36 -07:00
test Add local.arch to config introspection 2022-02-21 14:09:57 -06: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
bootstrap Standardize on &> when not appending output 2019-12-04 22:39:00 -06:00
CHANGES Update version number and update documentation 2021-08-23 08:25:10 -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 Update image tag 2022-01-07 00:28:14 -06:00
pylintrc Add support for multiple local classes 2021-12-27 21:14:09 +01:00
pytest.ini Mark deprecated tests 2019-10-02 15:16:09 -05:00
README.md Fix arch-badge 2021-09-10 10:49:27 +02:00
yadm Add local.arch to config introspection 2022-02-21 14:09:57 -06:00
yadm.1 Reduce supported labels for architecture 2022-02-21 14:01:08 -06:00
yadm.md fix “Mackbook” typo in manpage 2021-10-22 16:03:23 +02:00
yadm.spec Update version number and update documentation 2021-08-23 08:25:10 -05:00

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.