From a87426a7a2960487458df840f92b397d9365084d Mon Sep 17 00:00:00 2001 From: herbygitea Date: Thu, 23 Apr 2026 15:00:22 +0000 Subject: [PATCH] Create cli-standardization.md via n8n --- Tech/Projects/cli-standardization.md | 64 ++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Tech/Projects/cli-standardization.md diff --git a/Tech/Projects/cli-standardization.md b/Tech/Projects/cli-standardization.md new file mode 100644 index 0000000..c9adaea --- /dev/null +++ b/Tech/Projects/cli-standardization.md @@ -0,0 +1,64 @@ +--- +project: cli-standardization +type: project-plan +status: active +path: Tech/Projects +tags: + - pbs + - tech-setup + - automation +created: 2026-04-23 +updated: 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 debug` protocol to avoid shell-bloat in containers. + +## Phase 1: Host Automation (Ansible) +- [ ] Create Ansible role `cli_modern` to install `fish`, `starship`, and +`fzf`. +- [ ] 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.fish` and +`starship.toml`. +- [ ] Configure `fish_plugins` file for Fisher to handle automated plugin +sync. +- [ ] Test `chezmoi apply` workflow on Manjaro rig. + +## Phase 3: Container Workflow +- [ ] Verify `docker-debug` binary availability on nodes. +- [ ] Create an alias/function for `ddebug` that 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](https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish) +| source && fisher install jorgebucaran/fisher +end + + +...sent from Jenny & Travis \ No newline at end of file