diff --git a/docs/fish-config.1 b/docs/fish-config.1 index 2cf673d..35f6a2f 100644 --- a/docs/fish-config.1 +++ b/docs/fish-config.1 @@ -207,6 +207,11 @@ CLAUDE_CODE_NO_FLICKER 1 \[em] suppress terminal flicker in Claude Code CDPATH . \[ti]/projects \[ti] \f[R] .fi +.PP +Opinionated defaults (CDPATH, PAGER/MANPAGER, Vi mode, command shadows, +terminal integrations) can be switched off per category with universal +variables \[em] see Section 7, \[lq]Opinionated Components (Minimal +Mode)\[rq]. .SS Pager Hierarchy .PP $PAGER is set to ov when available, falling back to less. @@ -1770,6 +1775,73 @@ Some settings (fzf colors, theme) are stored in fish_variables via \f[V]set -U\f[R]. These are machine-local and git-ignored. Do not commit fish_variables. +.SS Opinionated Components (Minimal Mode) +.PP +Every opinionated piece of this config is active by default but can be +switched off through four category opt-out variables, each evaluated via +__fish_variable_check. +Set a variable to any falsy value (0, false, no, off, n) to disable its +category; erase it or set a truthy value (1, true, yes, on, y) to +re-enable. +Unset means enabled. +.IP +.nf +\f[C] +Variable Disables +------------------------------ ------------------------------------ +__fish_config_op_aliases Command shadows and flag injection: + ls->eza, cat->bat, cd->zoxide, + rm->trash, less->ov, top->btop, + ping->prettyping, ssh->kitten, + du->duf/dust, mkdir/bash wrappers, + history timestamps, grep/cp/mv/wget + flag injection, help intercept +__fish_config_op_autoexec Startup side-effects: Fisher + bootstrap, theme apply, paru/yay + wrapper generation, auto venv + activation, WakaTime hook +__fish_config_op_overrides Key and env overrides: Vi mode, + exit->smart_exit, PAGER/MANPAGER, + CDPATH, bang-bang system, autopair, + puffer, starship prompt, theme + colors, FZF_DEFAULT_OPTS, right + prompt +__fish_config_op_integrations Terminal/tool coupling: Kitty/ + WezTerm window abbreviations, done + notifications, spwin/tab/split, + hist, logs, upgrade, WakaTime +\f[R] +.fi +.PP +Examples: +.IP +.nf +\f[C] +# Disable command shadows only (rm becomes plain rm again): +set -U __fish_config_op_aliases off + +# Full minimal mode \[em] disable all four categories at once: +set -U __fish_config_opinionated 0 + +# Re-enable everything: +set -Ue __fish_config_opinionated +\f[R] +.fi +.PP +Notes: +.IP \[bu] 2 +Command shadows (rm, cat, ls, \&...) +react immediately; conf.d-level components (bindings, prompt, +abbreviations, hooks) take effect in new shells. +.IP \[bu] 2 +With aliases disabled, rm falls back to bare \f[V]command rm\f[R] \[em] +files are deleted permanently, not trashed. +.IP \[bu] 2 +Disabled integration commands (spwin, tab, split, hist, logs, upgrade) +print an error naming the variable that disabled them. +.IP \[bu] 2 +On CachyOS, the distro fish config\[cq]s own aliases, history override, +and bang-bang bindings are stripped per category as well. .SS Prompt and Theme .SS Starship .PP diff --git a/docs/html/11-7-customization.html b/docs/html/11-7-customization.html index 698b5ad..361cf07 100644 --- a/docs/html/11-7-customization.html +++ b/docs/html/11-7-customization.html @@ -515,8 +515,60 @@ Variables

Some settings (fzf colors, theme) are stored in fish_variables via set -U. These are machine-local and git-ignored. Do not commit fish_variables.

-

Prompt and Theme

-

Starship

+

Opinionated Components (Minimal +Mode)

+

Every opinionated piece of this config is active by default but can +be switched off through four category opt-out variables, each evaluated +via __fish_variable_check. Set a variable to any falsy value (0, false, +no, off, n) to disable its category; erase it or set a truthy value (1, +true, yes, on, y) to re-enable. Unset means enabled.

+
Variable                        Disables
+------------------------------  ------------------------------------
+__fish_config_op_aliases        Command shadows and flag injection:
+                                ls->eza, cat->bat, cd->zoxide,
+                                rm->trash, less->ov, top->btop,
+                                ping->prettyping, ssh->kitten,
+                                du->duf/dust, mkdir/bash wrappers,
+                                history timestamps, grep/cp/mv/wget
+                                flag injection, help intercept
+__fish_config_op_autoexec       Startup side-effects: Fisher
+                                bootstrap, theme apply, paru/yay
+                                wrapper generation, auto venv
+                                activation, WakaTime hook
+__fish_config_op_overrides      Key and env overrides: Vi mode,
+                                exit->smart_exit, PAGER/MANPAGER,
+                                CDPATH, bang-bang system, autopair,
+                                puffer, starship prompt, theme
+                                colors, FZF_DEFAULT_OPTS, right
+                                prompt
+__fish_config_op_integrations   Terminal/tool coupling: Kitty/
+                                WezTerm window abbreviations, done
+                                notifications, spwin/tab/split,
+                                hist, logs, upgrade, WakaTime
+

Examples:

+
# Disable command shadows only (rm becomes plain rm again):
+set -U __fish_config_op_aliases off
+
+# Full minimal mode — disable all four categories at once:
+set -U __fish_config_opinionated 0
+
+# Re-enable everything:
+set -Ue __fish_config_opinionated
+

Notes:

+ +

Prompt and Theme

+

Starship

The primary prompt is Starship, initialized by conf.d/starship.fish. Configure it via ~/.config/starship.toml.

conf.d/starship.fish defines a fish_prompt wrapper that only @@ -526,14 +578,14 @@ immediately after, placing both markers on the prompt line itself. This allows ov to use them as sticky section headers when browsing scrollback logs. Without Starship, fish's built-in prompt handles these markers automatically.

-

FZF

+

FZF

FZF is themed to Catppuccin Mocha via FZF_DEFAULT_OPTS set in integrations/fzf.fish. The colors applied:

Background:   #1E1E2E (base)    #313244 (surface0)
 Foreground:   #CDD6F4 (text)
 Highlights:   #F38BA8 (red)     #CBA6F7 (mauve)    #B4BEFE (lavender)

To customize, override FZF_DEFAULT_OPTS in local.fish.

-

Catppuccin Mocha Syntax Highlighting

The Catppuccin Mocha theme ships with this config in themes/ and is diff --git a/docs/html/5-1-configuration-variables.html b/docs/html/5-1-configuration-variables.html index 97bb700..eda4d72 100644 --- a/docs/html/5-1-configuration-variables.html +++ b/docs/html/5-1-configuration-variables.html @@ -525,6 +525,10 @@ interactively.

GPG_TTY              $(tty)  — ensures GPG passphrase prompts work
 CLAUDE_CODE_NO_FLICKER  1    — suppress terminal flicker in Claude Code
 CDPATH               . ~/projects ~
+

Opinionated defaults (CDPATH, PAGER/MANPAGER, Vi mode, command +shadows, terminal integrations) can be switched off per category with +universal variables — see Section 7, "Opinionated Components (Minimal +Mode)".

Pager Hierarchy

$PAGER is set to ov when available, falling back to less. The less wrapper function extends this into a full chain so anything that calls diff --git a/docs/html/index.html b/docs/html/index.html index 7e48754..97bb4c0 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -818,6 +818,10 @@ id="toc-overriding-configuration-variables">Overriding Configuration Variables

  • Fish Universal Variables
  • +
  • Opinionated Components +(Minimal Mode)
  • Prompt and Theme