Public source for shell functionality in the DarkPi system.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
( jak ) 2c8ebbb416 ...wholesale copypasta. 1 month ago
cfg Fix a wording. 1 month ago
doc ...wholesale copypasta. 1 month ago
kor Fix a wording. 1 month ago
stk Accidentally a standardization. 1 month ago
tmp Merging peers list. 4 months ago
.gitignore Exclusion for nano swapfiles, .gitignore for project root. 5 months ago Fixing a bit of wording. 1 month ago
shim.src Fiddling with whitespace & visibility. 1 month ago

Functions, shell (lite).

Pre-alpha, see b25c535b582f8ecb2632e48b2c940565e05cc3d1 for roadmap.
Development has diverged from roadmap, though goals are intact, path will differ.

This repo is mostly about automating a robust, minimal, sustainably sourced build pipeline.
...though ultimately, this is a bash aliases handler, and should be treated as such.


Source the shimfile:

. ~/run/system/fsh/shim.src

Works best in conjunction with a git project, try fet or fd, or ff to do fsh dev work.


Once you've sourced the shimfile, use shimMe to make it semi-permanent.

This will move any existing file at ~/.bash_aliases to ~/.bash_aliases.bak, sourcing that file if it exists, and putting a symbolic link from the contents of the current fDir variable in place of the aforementioned file.

In case that was as difficult to follow as it was to write, you'll end up with a symbolic link from ~/.bash_aliases to wherever you've got shim.src stashed away, and any previous aliases will override any fsh defaults, to preserve customization continuity.


in an ideal world, this would look something like

bash <(curl -s

This executes the bootstrapper in a subshell,
you can start using f commands in new shells immediately.

if you're the cautious type,
you can clone, build, and install it after verifying the hash (see [doc/]).

currently, something akin to
mkdir -p ~/run/fsh && cd ~/run/fsh && git clone -b dev . && . ~/run/fsh/shim.src
will probably work to get you testing, but your experience on the dev branch may vary wildly.

Things Which May Work


Chronostamp (stk/ Loading the shim (. shim.src) Viewing git summary (fet) <-- requires shim to be loaded and git (among other operational dependencies) to be installed.

The kanbash cluster works-ish, but requires manual install and config of kanban.bash. Task tracking use migrating to taskwarrior (from kanban.bash), but continuied development and reswap once feature parity is achieved is encouraged.


The shim, as installed by the quickstart command, allows the use of aliases (see core/ and most fsh/tool scripts, but worry-free persistence needs the build service installed, and many commands are for system administration, eg shutgrade.

Build service installation is a whole kettle of worms, and needs a proper install process hacked out.


Include in your scripts with:
shopt -s expand_aliases; . path/to/
or execute piecemeal as described in #quickstart


all contributions assumed original & freely given,
non-commercial/hobbiest/educational use encouraged.

knowledge disclaimer

All of this came from a book or a website somewhere,
if you believe you work has been referenced,
thank you for teaching me that particular trick.

More than willing to add you to the list of referenced code, please feel free to open a pull request.

For purposes of branding & legality, © 1990-present @jakimfett.

Due to the resurgence of public toleration for neo-nazi identities,
authoritarian/nationalist/colonial use explicitly prohibited,
go kick rocks in flip flops, ya gorram fascists.

commercial support

Contact 'via email' or 'web form' for commercial licensing & professional use.

old usage (for posterity)

Include functionality in your own scripts with:

[[ -f $DIR/$1  ]] || { echo "fsh not found"; exit 1; }
[[ "$1" =~ ../ ]] && { echo "Forbidden path"; exit 2; }
source /usr/local/etc/
cd $DIR
launch_script $1