I’ve been working on this, on-and-off for a while, and I’ve finally found the time to get it usable/reliable enough to make a public release.
Shell being what it is, the library functions are largely just ways to make code more obvious (i.e.
k_string_pad_left 10 foo vs
printf '%+10s' foo).
One big goal is portability, so wherever possible things are done in pure shell, or using POSIX-defined tools. For that reason, there are some current external tool uses (notably
cfget) that I want to replace, and of course use of things like
gpg basically requires the environment has a working implementation,
One of the parts that’s been both time consuming but also rewarding (in terms of mentally and in terms of results) has been
k-script-build, which facilitates turning a script with relative source (
.) statements into either a self-contained script (by inlining those scripts) or a script with absolute references (i.e. if you re-use a
.lib.sh type file, and want to reference it in a location like
The installed versions of the tools, and the library files are themselves built with
k-script-build which in turn, relies on the library. It’s dogfooding/self-hosting up the wazoo.