ci-fail/fcfa2a569aa51670988360bf8f05fcdc3d13834d
gates / consistency-and-conventions (push) Failing after 13s
A mapped command exiting non-zero (e.g. /capture -> ffmpeg with no webcam, exit 254) killed the whole daemon: the CHLD trap only recorded children that exited 0 (and wait -n inside a trap is unreliable on bash 5.2 anyway), so reap_commands fell back to a bare 'wait $pid' which aborts the shell under set -euo pipefail before the exit code is captured. systemd Restart=always then crash-looped (dead gaps + duplicate command execution from getUpdates offset=0 restarts). - reap_commands: single reaper path, set -e safe wait with || rc=$?, non-zero child exits now produce a normal reply with the real rc - persist the confirmed getUpdates offset to $CONFIG_DIR/telegram-listener.state (LISTENER_STATE_FILE seam) and resume it on start, so a restart never re-delivers an unconfirmed burst - new regression test t-telegram-listener-reap.sh (12 checks): 254-child reap survives daemon, negative control proves the old idiom dies, offset load/save resume + invalid fallback + empty-batch no-write
Linux_post_install — Personal Bootstrap & Homelab Toolkit
One command turns a bare Debian/Ubuntu install into a fully productive machine.
What is this
After reinstalling Linux you usually need to install packages, set up SSH, configure a firewall, and install apps. This repo automates all of that in one go.
It is a personal toolkit — a bootstrap script, a unified pos CLI for everyday tasks, optional app installers, and self-hosted services via ScaleTail + Tailscale.
What you get:
- 25+ system packages installed automatically
- The
posCLI: AI (Gemini chat), network, Docker (compose + vbox VMs), media, system, SSH, share (USB over network + NFS), communication (Telegram), and entertainment (public-API plugins → Telegram) tools - Wi-Fi hotspot tools (
create_ap,wihotspot-gui) viapos network hotspot pos tree— browse the whole CLI: categories, commands, and subcommands- 15 optional desktop apps (VS Code, Brave, OBS, Tailscale, …) — pick what you want
- 119+ self-hosted services with Tailscale access (Jellyfin, Home Assistant, …)
- systemd services for SSH agent, boot-time automation, and a daily Telegram health digest (
pos system health) - Everything lands in
/usr/local/bin/— you can delete the repo after install
Quick Start
git clone https://gitea.skink-platy.ts.net/admin/Linux_post_install.git
cd Linux_post_install
./install.sh # core: packages + CLI + services + ScaleTail
./install.sh --feature # also install features/ scripts (asks before overwriting)
./install.sh --apps # also install optional desktop apps (interactive)
| Flag | What it does |
|---|---|
--feature |
Install features/ scripts to /usr/local/bin/, sets their flags |
--apps |
Interactive app picker after core install |
--full |
Core install + all apps (non-interactive) |
--dry-run |
Preview without executing |
--force |
Re-install even if the version matches |
--skip <phase> |
Skip a phase: preinstall, scripts, postinstall, scalepoint, apps |
--steps <spec> |
Run only specific phases, e.g. --steps 1,3 |
--no-color |
Disable colored output |
Documentation
| Topic | Where |
|---|---|
| Docs index | DOC/README.md |
pos HOW-TO guides (recipes + troubleshooting) |
DOC/HOWTO.md |
| Core scripts (installer, libs, features) — how they work + config | DOC/SCRIPTS.md |
pos CLI reference (all commands, compose config, wrappers) |
DOC/POS.md |
| Optional apps (picker + full catalog) | DOC/APPS.md |
| Systemd services & bash completion | DOC/SYSTEMD.md |
| Developer guide (add tools/apps/features) | DOC/DEV.md |
| Algorithm diagrams | DOC/algorithm.md |
Description
Languages
Shell
99.9%