# Shell Standards & QoL

# Shell Standards & QoL

This page documents the standardized shell environment applied across the Flora Family infrastructure via Ansible.

## 🛠️ Ansible Management
- **Playbook:** `~/code/ansible-homelab/playbooks/base_setup.yml` on `saturn`.
- **Scope:** Applied to `terra`, `pluto`, and `luna`.

## 🐚 ZSH Configuration
- **Theme:** Powerlevel10k
- **Plugins:** git, docker, curl, zoxide
- **Specific Tweaks:**
  - `bat` is aliased to `batcat` (Ubuntu standard).
  - `sudo` is aliased as `sudo ` (trailing space enables alias expansion for following commands).

### 🎨 Dynamic Theme Detection
Standardized the `term_theme_detect` function in `linux_specific.zsh`. 
- **Method:** Uses OSC 11 ANSI query to detect background color.
- **Trick:** Uses `stty raw` to ensure reliable reading of the escape sequence response over SSH.
- **Themes:** Switches between `Catppuccin Latte` (Light) and `Catppuccin Frappe` (Dark) automatically.

## 🐳 Docker Shortcuts
- `dcd`: docker compose down
- `dcu`: docker compose up -d
- `dcl`: docker compose logs -f
- `dcr`: Custom function to cycle a service (down -> up -> logs).

## 🖥️ Terminal Standards
- **Ghostty:** High-performance terminal used on client devices.
- **Title Format:** `user@host:current_working_directory` (managed via ZSH precmd).