Source Guru

Dear Lazyweb…

by on Sep.28, 2009, under Personal

Is there a decent dotfile manager packaged in Ubuntu/Debian? I need something that’ll let me have a repository of my dotfiles and manage them easily amongst multiple locations.

I’ve seen a lot of homebrew implementations of something like this, I’m just wondering if there’s something that’s worth using already out there!

:,

18 Comments for this entry

  • Matthew Walster

    When you say dotfile, do you mean dotfile or config file in etc?

    I tend to use etckeeper, but I haven’t synced my “dotfiles” in quite a while :S

    Let me know if you find something!

  • Ryan

    A simple solution would be to use rsync and make an rsync-filter file that only includes dotfiles.

  • sparkes

    I used to have subversion home directories across my machines, overkill and it didn’t last.

  • Josh Triplett

    I can’t imagine something that would work better than a version control system. I keep my dotfiles in Git, which works really well; feel free to check out git://joshtriplett.org/git/home if you want.

  • Steve

    I too came up with my own system – I have ~/.dotfiles/ containing files such as:

    _vimrc
    _screenrc
    _emacs

    Then a small makefile to add/remove symlinks to those files. The actual files are stored under revision control and the system works well enough – but it would be nice to have something more general purpose.

  • Gordon Schulz

    I am using Dropbox with symbolic links pointing to the appropriate dotfiles. Works like a charm for me and my multiple boxes.

  • Hans

    I just started to manage my dotfiles with Git today. First I created a .dotfiles directory in ~, moved the relevant dotfiles there and made a script to create symlinks in ~.

    My plan is to have master contain all common settings, and have one branch for each computer (desktop/laptop/netbook/possibly university computers) to allow local customizations. If I’ve made a change in a local branch that I want to apply everywhere, I cherry-pick it from master (not sure how good this works yet).

    Guess you can count this as a “homebrew implementation”, but if you’re confident with Git (which I’m not) it should be fairly straight-forward to setup. I haven’t found a perfect guide for this, but a search for “git dotfiles” should give you some hints.

  • molok

    I long the day all the apps will just use ~/.config/

  • Josh Triplett

    @Steve: Why the separate directory and the symlinks?

  • foo

    Ubuntu Debian? You missed something inbetween, isn’t it?

  • Ryan

    If you have a script for autocreating symlinks into a directory, you might also want to write a script for migrating newly-created real dotfiles into the directory and replacing them with symlinks.

  • siretart

    @josh: because you don’t need every dotfile on every computer. sometimes, you have different versions of your dotfiles for different machines. The indirection allows to control what dotfile is actually in use more in a more fine-granular way.

    FWIW, I have my ~/.env bzr controlled and symlinked at the actual locations.

  • Steve

    The seperate directory is needed so that repository can be checked out – its really as simple as that.

    If I have “.dotfiles/” under revision control then it can be checked out to ~/, or to ~/local, or similar.

    While I could store ~ under revision control I find that the contents vary too much on different machines. So in practise I have three repositories:

    ~/.dotfiles [Shell config, emacs config, etc]
    ~/.dotfiles-private [Procmail + Mutt config - files that are sensitive]
    ~/bin/ [Shell tools etc]

  • Steve Kemp

    I decided to take this post as an opportunity to rationalise my setup.

    So I’ve posted: http://www.steve.org.uk/tmp/dotfile-manager.txtr

  • Daniel Hahler

    This is an interesting read for you:
    http://she.geek.nz/archives/546-migrating-my-homedirectory-from-one-repo-to-many.html

    It describes the process of using git in an awesome way to achieve this, but is really homebrewn, too.

    I’d really like to see something like etckeeper especially for dotfiles.
    However, maybe just using etckeeper on $HOME would work good enough? – at least for keeping track that is. You may use different repositories for different kind of files still, e.g. a repo/directory for vim config.

  • Marius Gedminas

    I keep my home directory in Subversion. It’s nice that you can check out subdirectories, since checking out the whole ~ is usually overkill (too big, too slow)/painful (conflicts with unversioned files)/not what I want anyway (*lots* of automatically generated/updated files).

    For this reason I also keep my most important dotfiles in ~/dotfiles, with symlinks pointing to them. This separate subdirectory stuff worked great for ~/.mutt and ~/.vim (with an extra symlink for ~/.vimrc).

  • Peter Eisentraut

    I use unison to sync the dotfiles around. It’s not as featureful as a VCS-based solution, but it forces me to keep the configuration the same on all machines, which is arguably a good thing.

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!