a4761df3f6936f8616708426d4850f377e7fd439
gates / consistency-and-conventions (push) Successful in 2m3s
Generalizes the Telegram listener with a configurable text-prefix map (telegram_prefixes.env): any non-command message '<word> <text>' runs the mapped command with <text> appended as ONE quoted argument — e.g. opencode=opencode turns 'opencode check cpu' into opencode "check cpu". Routing order per message: text-prefix map → built-in Gemini ai bridge → /command map → Unknown command. A mapped word shadows the Gemini bridge. The prefix verb is reworked: bare = list map + bridge word; 'prefix <word> <cmd...>' = map; 'prefix <word>' = show; 'prefix -r <word>' = remove. The Gemini trigger word itself is now set via 'pos config telegram' (TELEGRAM_AI_PREFIX). Also extracted run_and_reply() to share the /command-map (60s) and prefix (120s) execution semantics; fixed a latent set -e abort on invalid templates in prefix_map_set's check_syntax call. Verified: 27/27 routing-harness assertions, full CLI verb suite, dispatch smoke, pos config telegram render, bash -n, make gen && make check, make lint 0 FAIL / 0 WARN, shellcheck -S style (0 new findings).
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 |
--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%