This is the spiffy homepage for the vcs-home
group. We try to figure out how to use version control systems to manage your documents. This includes topics such as backups and anything else related you might think of.
We are mostly a mailing list for now. Please join and post your thoughts. There is also #vcs-home
/irc.oftc.net
if you want to chat.
And this is a wiki, meaning you can/should/are allowed to edit it!
Links
What people do:
- Article on how Joey Hess uses (used) Subversion to maintain his home directory
- Penny explains her multi-repository setup. (using very old outdated previous vcsh)
- Drew Devault stores all dotfiles in one repository
- Hugo Reeves explains how to use Nix for dotfile management
- Bastian Venthur explains managing dotfiles with GNU Stow
- Ludovic Courtès explains using Guix Home
Public dotfile repos:
Abraham Raji Adam Evyčędo Akseli Lahtinen Björn Lindström Caleb Maclennan Christoph Berg Daniel Silverstone Daniel Silverstone David Thompson Doodles Evan Purkhiser Fabian Ferass El Hafidi Honza Pokorny James McCoy Jeremiah Orians Joost van Baal-Ilić Josh Triplett Kyle Meyer Leonora Tindall Marcel Bischoff Martin Tournoij Omar Polo Peter Cai Peter Palfrader Raúl Benencia Sean Whitton Silvio Knizek Steve McIntyre Thomas Criscione Tom Ryder more
Maintained tools:
- vcsh allows you to put several Git repositories into
$HOME
at once and has both built-in management for multiple repositories as well as integrates with mr - chemozi manages personal config files and offers templating, secret retrieval, transparency, declarative configuration, speed and ease of use
- dvcs-autosync is a "A personal Dropbox replacement based on Git" which can conveniently autocommit/sync one or more vcs directories
- dotsync can pull from a git repo, and "push" to any number of remote machines with git or rsync to keep your dotfiles in sync across machines
- dotphiles is a forkable dotfile repo, using dotsync, dotzsh & dotvim
- Adam Spiers uses mr together with a plugin for GNU Stow (a symlink farm manager). This approach is in some respects similar to vcsh but uses symlinks rather than detached git working trees.
- home-manager provides a basic system for managing a user environment using the Nix package manager
- hstow is a POSIX sh-compatible reimplementation of the core features of GNU Stow, for dotfiles. It has the advantage that you can use it on machines without Perl. Its author usually uses it in combination with myrepos.
- nedots.rs
- dotdrop
- dotfiles.sh
- yadm
- dots
Concepts:
Other tools that help with this:
- ... together with loop-dots
- the git-home-history tool
- Article about gibak, a Git-based backup system (see also Debian RFP)
- mr, a tool to manage a collection of repositories
- etckeeper, a Git-based approach to maintaining
/etc
- Article comparing SVN, Mercurial and Git for home directory management
- flashbake, a Git-based tool for seamless, continuous versioning of projects
- git-annex allows versioning large files with git, without the pain of checking their contents into git
- caretaker, a powerful package manager for configuration files and the like
- homesick, a Ruby gem which allows symlinking of dotfiles from git repo into $HOME (c.f. approach above based on GNU Stow)
- Josh Triplet has a few scripts based on dconf layering and key files for managing dconf settings, covered in a lighting talk at 38:49 in the DebConf14 lightning talks session
- git clone https://joshtriplett.org/git/home
- dewi, that lets you deploy your precious configuration files on a new system with one command
Un-maintained tools:
- Steve Kemp hacked up a dotfile manager.
- Mike O'Connor took madduck's approach a bit further: his movein script
- madduck's script is deprecated in favour of RichiH's vcsh.
Discussions:
Other documentation: