9 ms·
Sort of OT: Does anyone know any good examples (on github or otherwise) of a dotfiles repo that can easily be installed on a machine? I've been wanting to do th
by bejar37 14y ago
Sort of OT: Does anyone know any good examples (on github or otherwise) of a dotfiles repo that can easily be installed on a machine? I've been wanting to do this for a while, but I'm sort of a noob on symlinking and such
- simcaster 14y agoMaybe not the best example, but here's my dotfiles. I use install.sh to link them. https://github.com/BenDoan/dotfiles https://github.com/BenDoan/dotfiles
- stack_underflow 14y agoI've designed my dotfile repo to be easily installable on any machine I happen to be on with the help of a script that backs up any existing dotfiles that may conflict with those in my repo. This allows me to backup any existing configs, link my own temporarily, then restore the old ones and 'rm -rf <my-repo>' so it's as if I never even touched the original configuration. If you want to try it out just run the following commands: git clone git://github.com/acx0/etc.git ~/etc cd ~/etc git submodule update --init # my link script is in a separate repository so it's a submodule in my dotfile repo cd link.sh ./link.sh # this will show the status of any conflicting files ./link.sh -b # backup any conflicting files ./link.sh -wf # force write (symlink) my set of config files And everything's set up. If you want to install the vim plugins I use, just run vim -c 'BundleInstall' and let Vundle download the plugins (you have to restart vim to use the plugins). Then when you're ready to restore your ~/ back to its original state, run ./link.sh -r # restore any configs that were backed up which also takes care of deleting the configs you didn't have (so if you backed up with no conflicting files (backup dir empty), and then restore, it'll just remove all the existing symlinks) If you didn't run the backup command, you can simply run ./link.sh -d to delete the symlinks for all the files in the repo. Then just remove any traces of the repo with 'rm -rf ~/etc'.