But the kids today seem to have come up with some nifty ways to do this. Things like oh my zsh (omz), antigen and zgen. They provide some nice tools for configuring your shell in a plugin type way with lots of nifty ideas out of the box. There are some other ones as well - presto and zplug for instance - but I just dug into these three.
One of the first things I noticed while researching these were some concerns about performance. This was particularly true for omz. There are solutions, but you start ripping stuff apart which isn’t great. The goal here is less maintenance, not more.
To try them out I just created some test users and tried installing each of them. My setup is vcsh ">version controlled but trying to figure out which bits are my configs and which come from the plugin system seemed like a pain.
They’re all interesting. The most featureful is omz, but almost to the point where it’s just too much. Antigen seems more reasonable. Finally zgen was able to pull from both omz and presto, but supported its own modules and allowed you to save the config into a single script to be sourced at startup.
All of them had their own update options and would pull in other git repos filled with shell scripts to source as needed.
And this is a bit of a problem. I already use vcsh for managing my homedir, I don’t want a second tool for doing that. Of the three, zgen seems to come closest. Sadly it’s “compiled” init script still sources other files which would be nice to fix.
I suspect in the end I’m just going to look through all three and take on board their ideas but not use their tools directly.