Basket: Turning machines into text for fun and profit

Lately I've been rebuilding a lot of servers and workstations, and so one of the many things I've been trying to find the time to work on is basket.

Originally started as one of those random in-office projects, my coworkers and I have taken it upon ourselves to extend that flaky set of bash methods and maybe turn it into a useful set of low-level server administration utilities. It's difficult to say yet how much functionality we'll provide - the project is very much in its infancy - but it's starting to look like a sensible and robust enough idea that I'm posting about it here. From the readme:

It's a bash thoole ket, or bash toolkit if you're sober. Yeah, we tried. It's also a basket of bash functions so that kinda works.

Basket is like a basket because you can dump little scripts into it with no overhead other than storage. When sourced, only the main (small) basket of bash helper methods is loaded - special-purpose modules are brought in on demand and have a simple dependency management system. (So if basket ever gets too big, you can just blindly delete stuff you don't need out of the lib folder).

So that's about it. Since examples are the best references with these kinds of things, here is a script with lots of options validation which sets up a LEMP stack.