64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
---
|
|
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 |