- Replace full name attribution with pyr0ball handle in 11-quickinfo.bashrc and crystallite.vim - Remove "Xander" name reference from orchard profile description in README - Add quickinfo-only install section for setting up the login splash without a full PRbL install |
||
|---|---|---|
| cf-apps | ||
| extras | ||
| lib | ||
| PRbL@6090507530 | ||
| scripts | ||
| .gitignore | ||
| .gitmodules | ||
| functions | ||
| install.sh | ||
| README.md | ||
| scriptexample.sh | ||
cf-node-bootstrap
Pyr0ball's Reductive [bash] Library (PRbL) Auto-Installer — plus CircuitForge node provisioning.
Bootstraps a new machine with a sane bash environment and optionally provisions it as a CircuitForge product node or GPU worker.
Depends on PRbL. Clone recursively:
git clone --recurse-submodules https://github.com/CircuitForgeLLC/cf-node-bootstrap.git
cd cf-node-bootstrap/
What it installs
PRbL— pluggable bash functions and scripting helpers- A
~/.bashrc.d/drop-in directory for modular shell config - An informative login splash screen (quickinfo)
- Vim color scheme and formatting
- Core dependencies:
git,vim,lm-sensors,curl,net-tools,bc
Install
Basic (current user)
./install.sh -i
Installs to ~/.local/share/prbl. During install you will be prompted to:
- Install optional extras (e.g. dev-tool cache redirect for machines with a separate
/devldisk) - Provision this node for CircuitForge apps (see Provisioning Profiles below)
Global (all users, requires root)
sudo ./install.sh -i
Installs to /usr/share/prbl.
Flags
| Flag | Description |
|---|---|
-i / --install |
Install PRbL and run provisioning menus |
-u / --update |
Update an existing install |
-d / --dependencies |
Install package dependencies only |
-D / --dry-run |
Show what would happen without making changes |
-r / --remove |
Remove the PRbL install |
-f / --force |
Remove then reinstall |
-F / --force-remove |
Remove without reinstalling |
-h / --help |
Print usage |
Provisioning Profiles
After the base PRbL install, the installer offers to set up CircuitForge apps on this node. You will be asked to pick a profile, which controls which apps are available and which remote they are cloned from.
OEM / customer node
For end-user machines. Clones apps from the public GitHub mirror (CircuitForgeLLC). Only apps with oem in their app_available_profiles are shown.
Use this for:
- A customer deploying a licensed CircuitForge product
- A self-hoster running a public release
Collaborator node
For contributors and internal team machines. Clones apps from the private Forgejo instance (git.opensourcesolarpunk.com). All apps with collaborator in their app_available_profiles are shown, including pre-release and internal tools.
Use this for:
- A developer working on CircuitForge products
- An internal machine with Forgejo access
Orchard-join node
For GPU worker nodes joining an existing cf-orch orchard. Clones circuitforge-orch from Forgejo and hands off to its own interactive installer — when prompted, choose the agent topology and have your coordinator's URL ready.
Use this for:
- Adding a GPU machine to an existing CircuitForge compute cluster
- Any remote worker node joining a coordinator
Optional Extras
After the base install, you will be prompted to select extras. Each extra is a standalone install script in extras/.
| Extra | Purpose |
|---|---|
model-cache-redirect |
Redirects pip, whisper, clip, and Hugging Face caches from ~/.cache to /devl/user-cache (for machines with a separate fast disk at /devl). Skips cleanly on machines without a separate /devl mount. |
CF Apps manifests
Each CircuitForge product has a .manifest file under cf-apps/. These are plain bash files declaring the app name, description, repo URLs, supported provisioning profiles, and install types (bare-metal, Docker, Podman). See cf-apps/README.md for the full schema.
Available apps:
| App | Description |
|---|---|
circuitforge-core |
Shared scaffold library required by most CF products |
peregrine |
LLM-powered job discovery and application pipeline |
kiwi |
Pantry tracker with barcode/receipt scanning and recipe suggestions |
snipe |
Auction trust-scoring for eBay and estate sales |
turnstone |
Log diagnostics tool |
linnet |
Real-time tone annotation product |
pagepiper |
Document/rulebook RAG tool |
Quickinfo only (no full install)
To get the login splash screen without installing PRbL or changing anything else on the system:
# Create the drop-in directory if it doesn't exist
mkdir -p ~/.bashrc.d
# Copy the quickinfo scripts
cp lib/skel/.bashrc.d/11-quickinfo.bashrc ~/.bashrc.d/
cp lib/skel/.bashrc.d/11-quickinfo.settings ~/.bashrc.d/
# Wire up the drop-in directory if your .bashrc doesn't already include it
grep -q 'bashrc.d' ~/.bashrc || cat >> ~/.bashrc << 'EOF'
# Load drop-in bashrc modules
for f in ~/.bashrc.d/*.bashrc; do [ -f "$f" ] && source "$f"; done
EOF
The quickinfo script self-sources PRbL at runtime (via curl/wget) so no prior PRbL install is needed.
Customize display options by editing ~/.bashrc.d/11-quickinfo.settings — you can hide disconnected adapters, filter specific network interfaces, or restrict which disks are shown.
Open a new terminal (or source ~/.bashrc) to see the splash.
Planned
- Expanded automatic OS detection and package management (non-Debian/Ubuntu)
- Modular login splash page