1.9 KiB
1.9 KiB
| project | type | status | path | tags | created | updated | |||
|---|---|---|---|---|---|---|---|---|---|
| cli-standardization | project-plan | active | Tech/Projects |
|
2026-04-23 | 2026-04-23 |
CLI Standardization: Fish, Starship & Cross-Node Sync
Standardize the terminal experience across the Manjaro dev rig, Proxmox nodes, and Ubuntu NAS. This project moves away from manual "server pet" configuration in favor of an automated, immutable CLI environment.
Objectives
- Deploy Fish 4.5+ and Starship to all primary nodes via Ansible.
- Establish a single source of truth for dotfiles using Chezmoi.
- Implement the
docker debugprotocol to avoid shell-bloat in containers.
Phase 1: Host Automation (Ansible)
- Create Ansible role
cli_modernto installfish,starship, andfzf. - Add task to set Fish as the default shell for the primary user.
- Deploy role to Proxmox cluster and Ubuntu NAS.
Phase 2: Dotfile Orchestration (Chezmoi)
- Initialize Git repository for dotfiles.
- Use Chezmoi to manage
~/.config/fish/config.fishandstarship.toml. - Configure
fish_pluginsfile for Fisher to handle automated plugin sync. - Test
chezmoi applyworkflow on Manjaro rig.
Phase 3: Container Workflow
- Verify
docker-debugbinary availability on nodes. - Create an alias/function for
ddebugthat defaults to the Fish shell. - Document the VS Code Dev Container configuration for consistent project-level shells.
Configuration Snippets
Base config.fish
fish if status is-interactive # Starship Initialization starship init fish | source
# Zoxide (Modern cd)
zoxide init fish | source
end
Ensure Fisher and plugins are synced
if not functions -q fisher curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher end
...sent from Jenny & Travis