feat(greeting): add C6 — Greeting & First-Run UI opinionated guard #40

Merged
rootiest merged 7 commits from feat/greeting-toggle-c6 into main 2026-06-11 02:48:07 +00:00
Owner

Summary

  • Adds __fish_config_op_greeting (C6) as the sixth opinionated component category, controlling whether greetings are shown
  • Gates the one-time first-run welcome banner in conf.d/first_run.fish under the C6 guard (independent of the C2 Fisher/theme-apply guard)
  • Adds a late-running fish_greeting override in config.fish's OVERRIDES section: when C6 is off, an empty fish_greeting function is defined after CachyOS's config is sourced, aggressively suppressing distro greetings (e.g. CachyOS's fastfetch greeting)
  • Documents C6 in AGENTS.md (§14, Task #3 table, Task #8 ticked), opinionated_catalog.md, README.md Minimal Mode, and docs/fish-config.md

Behavior

Variable Effect
__fish_config_op_greeting unset (default) All greetings active
set -U __fish_config_op_greeting 0 First-run welcome suppressed; fish_greeting overridden to empty (distro greetings silenced)
set -U __fish_config_opinionated 0 All six categories disabled, including greeting

Manual Verification

  • Open a fresh fish shell — confirm the CachyOS fastfetch greeting appears normally (C6 on by default)
  • Run set -U __fish_config_op_greeting 0, open a new shell — confirm no greeting appears and functions fish_greeting shows an empty body
  • Run set -Ue __fish_config_first_run_complete && set -U __fish_config_op_greeting 0, open a new shell — confirm no first-run welcome prints, but Fisher/theme init still runs (C2 independent)
  • Run set -Ue __fish_config_op_greeting, open a new shell — confirm greeting is restored
  • Run set -U __fish_config_opinionated 0, open a new shell — confirm greeting is suppressed via master switch; run set -Ue __fish_config_opinionated to restore
## Summary - Adds `__fish_config_op_greeting` (C6) as the sixth opinionated component category, controlling whether greetings are shown - Gates the one-time first-run welcome banner in `conf.d/first_run.fish` under the C6 guard (independent of the C2 Fisher/theme-apply guard) - Adds a late-running `fish_greeting` override in `config.fish`'s OVERRIDES section: when C6 is off, an empty `fish_greeting` function is defined after CachyOS's config is sourced, aggressively suppressing distro greetings (e.g. CachyOS's `fastfetch` greeting) - Documents C6 in `AGENTS.md` (§14, Task #3 table, Task #8 ticked), `opinionated_catalog.md`, `README.md` Minimal Mode, and `docs/fish-config.md` ## Behavior | Variable | Effect | |---|---| | `__fish_config_op_greeting` unset (default) | All greetings active | | `set -U __fish_config_op_greeting 0` | First-run welcome suppressed; `fish_greeting` overridden to empty (distro greetings silenced) | | `set -U __fish_config_opinionated 0` | All six categories disabled, including greeting | ## Manual Verification - [x] Open a fresh fish shell — confirm the CachyOS `fastfetch` greeting appears normally (C6 on by default) - [x] Run `set -U __fish_config_op_greeting 0`, open a new shell — confirm no greeting appears and `functions fish_greeting` shows an empty body - [x] Run `set -Ue __fish_config_first_run_complete && set -U __fish_config_op_greeting 0`, open a new shell — confirm no first-run welcome prints, but Fisher/theme init still runs (C2 independent) - [x] Run `set -Ue __fish_config_op_greeting`, open a new shell — confirm greeting is restored - [x] Run `set -U __fish_config_opinionated 0`, open a new shell — confirm greeting is suppressed via master switch; run `set -Ue __fish_config_opinionated` to restore
rootiest added 7 commits 2026-06-11 02:43:36 +00:00
rootiest merged commit 6edeb5bdd1 into main 2026-06-11 02:48:07 +00:00
rootiest deleted branch feat/greeting-toggle-c6 2026-06-11 02:48:07 +00:00
Sign in to join this conversation.