# CE OS Alpine Installer — Subscript Specifications --- ## lib/ce-common.sh | Field | Value | |---|---| | Name | ce-common.sh — shared library | | Inputs | SCRIPT_NAME env var (set by caller before sourcing) | | Outputs | LOG_FILE written, FAILED_PKGS/MANUAL_PKGS arrays populated | | Error behaviour | run_test exits on fail mode; all others log-and-continue | | Privilege | standard user (doas called internally by install_pkg) | | Distro target | Alpine | --- ## lib/base/01_core.sh | Field | Value | |---|---| | Name | 01_core.sh — enable community repo, core packages, setup-utmp | | Inputs | none (sources ce-common.sh) | | Outputs | packages installed; /etc/apk/repositories modified | | Error behaviour | per-package log-and-continue; setup-utmp warn-only | | Privilege | requires doas for apk and sed on /etc/apk/repositories | | Distro target | Alpine | ## lib/base/02_doas.sh | Field | Value | |---|---| | Name | 02_doas.sh — doas install and wheel.conf | | Inputs | none | | Outputs | doas installed; /etc/doas.d/wheel.conf written | | Error behaviour | warn if wheel.conf write fails — manual action noted | | Privilege | requires doas for mkdir/tee on /etc/doas.d | | Distro target | Alpine | --- ## lib/minimal/01_shell.sh — 06_comms.sh Standard pattern: apk community packages, per-package install_pkg, run_test warn. | Script | Packages | |---|---| | 01_shell.sh | starship, less, mandoc, ncurses | | 02_terminal.sh | tmux, vim, nano | | 03_files.sh | ranger, mc, ncdu, fzf, zoxide, stow | | 04_vcs.sh | git, rsync, openssl, gnupg | | 05_systools.sh | btop, lsof, mosh, dialog | | 06_comms.sh | neomutt, msmtp, isync, calcurse, pass | --- ## lib/minimal/07_journal.sh | Field | Value | |---|---| | Name | 07_journal.sh — python3, pipx, jrnl | | Inputs | none | | Outputs | python3 + pipx via apk; jrnl via pipx install | | Error behaviour | skips jrnl if pipx unavailable; logs failure | | Privilege | standard user (pipx runs as user) | | Distro target | Alpine | ## lib/minimal/08_web.sh Standard pattern: lynx, w3m. ## lib/minimal/09_network.sh | Field | Value | |---|---| | Name | 09_network.sh — dbus, avahi + rc-update | | Inputs | none | | Outputs | dbus + avahi installed; both added to default runlevel | | Error behaviour | rc-update failures warn-only; logged to MANUAL_PKGS | | Privilege | doas for apk + rc-update | | Distro target | Alpine + OpenRC | ## lib/minimal/10_record.sh Standard pattern: asciinema, fbgrab. ## lib/minimal/11_wiki.sh | Field | Value | |---|---| | Name | 11_wiki.sh — glow binary from CE repo | | Inputs | CE_REPO URL (hardcoded to cervelloelettrico.it/bin/amd64/alpine) | | Outputs | glow installed to ~/.local/bin/glow | | Error behaviour | graceful skip on unreachable repo, download fail, sha256 mismatch, gpg fail | | Privilege | standard user (installs to ~/.local/bin) | | Distro target | Alpine x86-64; CE_REPO path must change for other arches | | Doc references | cervelloelettrico.it CE repo | ## lib/minimal/12_access.sh | Field | Value | |---|---| | Name | 12_access.sh — espeak-ng, espeakup, speech-dispatcher, ly notice | | Inputs | ARCH (from ce-common.sh) | | Outputs | espeak removed if present; espeak-ng installed; espeakup if available; speech-dispatcher@edge; ly notice on x86-64 | | Error behaviour | espeak removal warn-only; espeakup skipped if not in repo; speech-dispatcher warn-on-fail; ly skipped with MANUAL notice | | Privilege | doas for apk del + apk add | | Distro target | Alpine; espeakup availability varies by release | | Doc references | wiki.alpinelinux.org/wiki/Using_espeak_on_Alpine_Linux; github.com/dermotbradley/alpine-espeakup | --- ## lib/basic/01_comms.sh — 06_utils.sh | Script | Packages | Notes | |---|---|---| | 01_comms.sh | abook, task | task = taskwarrior (package name is 'task') | | 02_monitor.sh | nethogs, iproute2, lnav@edge | lnav is edge; warn-on-fail + MANUAL note | | 03_gui.sh | cagebreak, firefox, xwayland | /boot/cmdline.txt skip noted; x86-64 only meaningful | | 04_media.sh | cmus, mpv, ffmpeg, imagemagick, fbida-fbi | package is 'fbida-fbi' not 'fbida' | | 05_fonts.sh | figlet, nerd-fonts@edge | nerd-fonts confirmed package name (edge/community) | | 06_utils.sh | tealdeer, restic, jq, bc, zip, unzip, xz | tealdeer (not 'tldr') | --- Source: ce-authored Source-type: ce-authored Licence: Public Domain — CE FFM Policy Verified-on: 2026-06-10 Session: ceos-alpine-installer-v0.0.1-dev