fsh/tmp/functions.prq
( jak ) 7e9f6cca5f Known broken state, dev test successful.
Intentionally partial checkin for process documentation and collaborator visibility.

This refactor is aimed at organization more than functionality.
Version increment will happen when `f -v` works again, alongside the structure that makes it easy to add more to the base.

all variables and other environment setup to `stk/bash.src`,
moving functions to `kor/functions.src`
creating a header/footer paradigm for pre/postprocessing and a step closer to makefile use.

In the ideal future, the `shim.src` file is sourced by the user, which gives them tools for local persistence alongside a lightweight system debugging framework.

The `shimMe` command is a work-in-progress gentle-touch installer, meaning that it attempts to avoid conflicting with existing bash stuffs, and allows adding/removing the 'install' entry easily. It should be noted that it currently does not work, although it is closer than the trim, combining the old and new concepts may yield a better (more reliable) way to manage the shimstate.

Shimfile is symlinked at `~/.profile`, is sourced via .bashrc, and can be executed to quietly update to the latest 'stable' version.

The shimfile gets the headfile, bashstuffs, aliases, and functions, then sets up the environment for routine shell stuffs.

Example extensible flexibility once framework for 'f -v' works:
	Minimal-effort ssh pubkey management via homelab server pool.
	Chained command macros (git, apt, mounts, etc).
	Functionality-based resource management & abstraction.
	Microblogging & collaboration.
	Data migration, file sorting & archive management.

This all relates to the focal goal of this mess, to make the command line easier to use.

One shouldn't need to be a wizard to get at the magic of tech.
2020-08-22 15:41:16 -07:00

57 lines
1.2 KiB
Plaintext

# format
# <program>(:<symantic>.<version>.<number>)
#
# IF version does not exist, install latest version.
# IF version exists, exact is expected.
# IF version terminated by a plus sign ('+') exists, any version at or above will be accepted.
# IF version terminated by a minus sign ('-') exists, any version at or below will be accepted.
# IF two versions are provided, first is assumed minium, second is assumed maximum.
# IF nonintersecting min/max versions found, hang and warn user.
# this suite of shell scripts requires associative arrays,
# thus 'bash' has minimum versions.
bash:4+
# finding where the binaries are
which
# single authoritative source enabler
ln
# absolute path of relative files
realpath
# check for errors
shellcheck
# about half the point of this is accessibility,
# so 'man' is a requirement (for now...).
man:2.8+
# finding text in other text is necessary
grep:3+
# distributed source control, an absolute must
git
# large file archive support for the above source control
git-lfs
# tiling window management on the command line, yes please
dtach:0.9.x
dvtm:0.15.x
# network tooling
traceroute
traceroute6
nmap
# self requirement
f:0+
# staying safe
#shellharden?
#fail2ban?
#shrinkwrap?