4 ms·
I've tried this and a lot of other dotfile managers (homesick, homeshick, etc), my current favorite and what I'm using now is YADM: https://yadm.io/ https://ya
by res0nat0r 5y ago
I've tried this and a lot of other dotfile managers (homesick, homeshick, etc), my current favorite and what I'm using now is YADM:
https://yadm.io/ https://yadm.io/
- markstos 5y agoSame.
- goranerik 5y agoYADM is great. Was suprised I had to scroll this deep to before it was mentioned.
- jhrmnn 5y agoWhat’s nice about Yadm is that the mental model is so simple that it’s impossible to forget—just a Git repo with worktree in ~.
- BiteCode_dev 5y agoThank you for sharing this, I just adopted it.
- juniperplant 5y agoThe issue I have with yadm is that, unlike stow, it can't manage directories. For example, if you want to keep track of your whole Firefox profile's directory (without bothering adding/committing single files), in stow it's as simple as symlinking ~/.mozilla/firefox/<profile_dir>. For programs whose configuration you know intimately this is not a problem (e.g. for bash, we all know we probably just need .bashrc), but not all programs rely on a single flat configuration file.
- fnord77 5y agoI don't understand this - why not just store them in git directly? I have a git project called .linux-env. I can just clone it on any machine and ln my ~/.bashrc/~/.profile to it. Even works on mac.
- res0nat0r 5y agoIt has a lot of additional features that a plain git repo won't provide, such as alternate files based on OS type, hostname etc: https://yadm.io/docs/alternates# https://yadm.io/docs/alternates#
- fnord77 5y agothat's literally just an if-statement in your bashrc unamestr=`uname` if [[ "$unamestr" == 'Linux' ]]; then source ~/.my_environment/bash/linux/.bashrc else source ~/.my_environment/bash/osx/.bashrc fi etc.
- res0nat0r 5y agoWhy would I want to bother with that when I can just use the software above to simplify that for me, in addition to a bunch of other features it offers?