feat: add ssh-keys-management TUI script #1

Merged
patillacode merged 6 commits from feature/ssh-keys-management into main 2026-03-30 12:22:59 +02:00
Owner

Adds ~/.local/bin/ssh-keys-management, a standalone interactive script for managing the full SSH key
lifecycle. Uses gum (Charm) as the TUI toolkit — this is the pilot project for introducing gum across all
dotfiles scripts.

Features:

  • status — overview of all keys in ~/.ssh/, registration state on GitHub/Forgejo (via API), agent status, and
    configured hosts
  • generate — create ed25519 (default) or RSA 4096 keys; optionally add a Host entry to
    private_dot_ssh/private_config.tmpl and deploy via chezmoi apply
  • register — upload a public key to GitHub/Forgejo using stored token, a manually entered token, or by showing
    the key to paste in the web UI
  • distribute — ssh-copy-id to hosts parsed from ~/.ssh/config
  • rotate — revoke from services, generate replacement, re-register, re-distribute, delete old files
  • agent — view loaded keys, add/remove/clear via ssh-add

Every menu item includes a contextual description. Supports both interactive menu (ssh-keys-management) and
direct subcommands (ssh-keys-management status, etc.).

Adds ~/.local/bin/ssh-keys-management, a standalone interactive script for managing the full SSH key lifecycle. Uses gum (Charm) as the TUI toolkit — this is the pilot project for introducing gum across all dotfiles scripts. Features: - status — overview of all keys in ~/.ssh/, registration state on GitHub/Forgejo (via API), agent status, and configured hosts - generate — create ed25519 (default) or RSA 4096 keys; optionally add a Host entry to private_dot_ssh/private_config.tmpl and deploy via chezmoi apply - register — upload a public key to GitHub/Forgejo using stored token, a manually entered token, or by showing the key to paste in the web UI - distribute — ssh-copy-id to hosts parsed from ~/.ssh/config - rotate — revoke from services, generate replacement, re-register, re-distribute, delete old files - agent — view loaded keys, add/remove/clear via ssh-add Every menu item includes a contextual description. Supports both interactive menu (ssh-keys-management) and direct subcommands (ssh-keys-management status, etc.).
patillacode deleted branch feature/ssh-keys-management 2026-03-30 12:23:14 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
patillacode/dotfiles!1
No description provided.