This really is super-simple, and I like that. However, it doesn't handle configuration files that don't go directly in your home directory, such as $HOME/.ssh/config. I wrote something a few weeks ago which does that while remaining conceptually very simple. You can get it at
https://github.com/sciurus/dotfile_management
Why not just have a git repo working copy in your $HOME directory? That way you can avoid any symlinking mess. The actual dotfiles are the ones from the working copy.
I used to do symlinking but found the working copy in $HOME approach much better.
That could work, but where would the .git/ directory be? If you have in $HOME/.git you are inviting disaster with an errant 'git clean...' command. If not you need to deal with managing the options/environment to make the git commands work (though that could be scripted).
I'm curious about this too since something dead simple (and reasonably idiot-proof) would be useful to me as well.
Fails to delete symlinks to removed dotfiles. Doesn't support splitting dotfiles amoung multiple repositories.
I feel that the right solution to this is going to be vcsh.https://github.com/RichiH/vcsh No symlinks to dotfiles, all the files live in $HOME, but vcsh can be used to switch between accessing different git repositories that contain different of the dotfiles. http://vcs-home.branchable.com/ has more.
Sure it supports splitting dotfiles among multiple repositories. Just create multiple repositories and change the path in the post-commit hook. Deleting symlinks would be nice, but I'm not sure it's worth the complexity implementing it would add.
vcsh sounds like a neat system if you need to have multiple repositories with the same working directory, but I don't understand the advantages of this for managing your dotfiles. My eyes glazed over when reading about the proposed system in section 3.2 of the README.
I want to be able to manage other config files that aren't in my home directory at all. Some of them are even owned by root: httpd-vhosts.conf, /etc/hosts, php.ini... any good solution for that? I'm willing for it to be complex if it works.
Manage in what sense? If you're trying to sync. between multiple machines, one approach is to check in the /etc files in your home dir and symlink. Or are you looking for something else?
[+] [-] sciurus|14 years ago|reply
[+] [-] shtylman|14 years ago|reply
I used to do symlinking but found the working copy in $HOME approach much better.
[+] [-] nixme|14 years ago|reply
[+] [-] fr0sty|14 years ago|reply
I'm curious about this too since something dead simple (and reasonably idiot-proof) would be useful to me as well.
[+] [-] jpiasetz|14 years ago|reply
[+] [-] joeyh|14 years ago|reply
I feel that the right solution to this is going to be vcsh.https://github.com/RichiH/vcsh No symlinks to dotfiles, all the files live in $HOME, but vcsh can be used to switch between accessing different git repositories that contain different of the dotfiles. http://vcs-home.branchable.com/ has more.
(Also, rake? yadr? vcsh is a posix shell script.)
[+] [-] sciurus|14 years ago|reply
vcsh sounds like a neat system if you need to have multiple repositories with the same working directory, but I don't understand the advantages of this for managing your dotfiles. My eyes glazed over when reading about the proposed system in section 3.2 of the README.
[+] [-] uncr3ative|14 years ago|reply
[+] [-] graysnorf|14 years ago|reply
[+] [-] bostonvaulter2|14 years ago|reply
[+] [-] g3orge|14 years ago|reply
[+] [-] jpiasetz|14 years ago|reply