1
0
Fork 0
mirror of synced 2024-12-21 06:01:08 -05:00
Yet Another Dotfiles Manager
Find a file
2024-12-15 17:25:27 +01:00
.github Run tests directly on github runner instead of in the docker image 2024-12-10 21:51:58 +01:00
completion Merge pull request #491 2024-12-15 17:25:27 +01:00
contrib Update repo location 2024-10-30 17:18:49 -05:00
test Refactor template handling 2024-12-15 16:15:14 +01:00
.flake8 Move all test/linting configs into pyproject.toml 2023-07-12 09:19:59 -05:00
.gitattributes Force eol=lf 2017-01-09 16:52:01 -06:00
.gitignore Ignore __pycache__/ 2024-12-10 21:28:51 +01:00
bootstrap Format yadm and bootstrap with shfmt 2024-12-11 20:07:38 +01:00
CHANGES Prepare for version 3.3.0 2024-11-08 20:23:23 +01:00
CONTRIBUTORS Prepare for version 3.3.0 2024-11-08 20:23:23 +01:00
LICENSE Update GPLv3 LICENSE information 2019-03-14 18:25:02 -05:00
Makefile Run mandoc or groff instead of man.REAL to check man page 2024-12-10 21:29:27 +01:00
pyproject.toml Update testbed docker image 2024-11-11 22:30:41 +01:00
README.md Prepare for version 3.3.0 2024-11-08 20:23:23 +01:00
yadm Refactor template handling 2024-12-15 16:15:14 +01:00
yadm.1 Use git ls-files to list files to encrypt 2024-12-10 21:51:58 +01:00
yadm.md Prepare for version 3.3.0 2024-11-08 20:23:23 +01:00
yadm.spec Prepare for version 3.3.0 2024-11-08 20:23:23 +01: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.