| ▲ | godelski a day ago | |
Yeah my dotfiles, notes, and scripts are in a single repo. I think the most important thing to do is organize. I just match the system. So I put everything that a rc file in ~/ in one directory and everything in ~/.config in another. Then if you have your repo downloaded all you need is to run 2 find commands like this
It baffles me that people are so unorganized in their dotfiles. A little goes a long way to making your life easier. But then again people suck at bash so they're probably not thinking of using find this way. You could also use xargs to parallelize if you want but there'd be no practical speed difference for meAnother key component is to break out files. For example I have the directory ~/.dotfiles/rc_files/zsh. My zshrc file sources different files from that location. So I have a Linux file and OSX file there for anything that is specifically system dependent. If you want different configs on different machines you can check the hostname and use the same pattern! Speaking of which, use functions! At first this is going to sound crazy but it's worth the effort and let's be honest, the effort is very low (though the initial rebase might not be depending on how messy you are)
Yeah, it is a bit more cumbersome but it's really not that bad and
Following Unix philosophy has more advantages than disadvantages. I also strongly suggest adding comments because you'll forget why you did something. I'll often link to posts for this and for giving credit.Since we're speaking of bash, bookmark this website: https://mywiki.wooledge.org/BashPitfalls Fwiw, my main language is Python but for pretty much everything in the terminal I write in bash. You can often make oneliners that would traditionally be a lot of lines in Python. Not to mention it's usually faster. It's a good way to help you learn bash too! ^__^ | ||
| ▲ | jdshaffer a day ago | parent [-] | |
Thanks for the detailed reply, examples, and links! Yeah, I definitely rely heavily on bash script functions, but had never thought about using git to share or sync my scripts and little programs. Thanks again, I really appreciate it! | ||