feat: ship nano + micro (non-modal editors) alongside nvim
The image shipped only nvim (EDITOR=nvim), a modal vi-style editor. Add both a classic and a modern non-modal option so users who aren't comfortable with vi keybindings have a choice: - nano (apt): ~2.8 MB installed; deps (libc6, libncursesw6, libtinfo6) already present via nvim/less/htop/tmux, so no extra packages pulled in. - micro: ~12 MB single static Go binary from GitHub releases (same pattern as bat/eza/zoxide). Desktop-style keys (Ctrl+S/Ctrl+Q), mouse, syntax highlighting. ARG MICRO_VERSION pins; defaults to latest. Combined ~15 MB (well within the smoke size threshold's ~250 MB headroom, so no threshold bump). EDITOR stays nvim; both editors are opt-in (export EDITOR=micro | nano). Uses the canonical micro-editor/micro URL because the old zyedidia/micro org rename makes /releases/latest redirect to another /latest, defeating the tag-parsing latest-resolution idiom (independently verified: old org 302s to micro-editor/micro; both arch tarballs HTTP 200; latest resolves to v2.0.15). Base-image change, so it lands on the next base-<hash> rebuild. Updates README (what's-inside tree + EDITOR note), CHANGELOG (Unreleased/Added), and smoke-test.sh (nano + micro presence checks). Ported from pi-devbox 3a59e15.
This commit is contained in:
@@ -18,6 +18,23 @@ Tags follow **independent semver** (since `v2.0.0`) — they version *this image
|
||||
now ignored across all repos in the container without per-repo `.gitignore`
|
||||
entries. The `core.excludesFile` wiring is skipped if the user already set one.
|
||||
|
||||
- **Non-modal editors `nano` + `micro` alongside `nvim`.** The image shipped
|
||||
only nvim (`EDITOR=nvim`), a modal vi-style editor. Added both a classic and
|
||||
a modern non-modal option for users who don't want vi keybindings:
|
||||
- **nano** (apt): ~2.8 MB installed; its deps (libc6, libncursesw6,
|
||||
libtinfo6) are already present via nvim/less/htop/tmux, so no extra
|
||||
packages are pulled in.
|
||||
- **micro**: ~12 MB single static Go binary from GitHub releases (same
|
||||
pattern as bat/eza/zoxide). Desktop-style keys (Ctrl+S/Ctrl+Q), mouse,
|
||||
syntax highlighting. `ARG MICRO_VERSION` pins; defaults to latest.
|
||||
|
||||
Combined ~15 MB (<0.5% of the image). `EDITOR` stays `nvim`; both are opt-in
|
||||
(`export EDITOR=micro | nano`). Uses the canonical `micro-editor/micro` URL
|
||||
because the old `zyedidia/micro` org rename makes `/releases/latest` redirect
|
||||
to another `/latest`, defeating the tag-parsing latest-resolution idiom.
|
||||
Base-image change, so it lands on the next `base-<hash>` rebuild. Ported from
|
||||
pi-devbox 3a59e15.
|
||||
|
||||
- **Workflow-lint guard (`.gitea/workflows/lint.yml` + `scripts/check-workflow-shell.sh`).**
|
||||
New cheap (~10s) lint workflow that runs on every push/PR (not just release
|
||||
tags): a Gitea-accurate shell guard plus pinned `actionlint` + `shellcheck`.
|
||||
|
||||
Reference in New Issue
Block a user