git clone <repo> .dotfiles && cd .dotfiles
stow --target=$HOME --dir=packages shell-config
stow --target=$HOME --dir=packages work-stuff
I've found this to be much more manageable than tools like yadm since I can pick-and-choose sets of configs/scripts based on the machine I'm using them on. let c = a + b
(() => { ... })()
This is evaluated as: let c = a + (b(() => {...}))()
which usually results in "TypeError: b is not a function." Obviously this can be solved with a semicolon after the "let c..." line, but another common approach is to just prefix all IIFEs with semicolons, since empty statements are no-ops in JS: let c = a + b
;(() => {...})()
I personally prefer to forego semi-colons, but I have a hard time getting worked up over it either way.
Could be easier for grandma, could reduce e-waste, will definitely be used to pigeon-hole us into an endless hell of subscription software.