diff --git a/conf.d/first_run.fish b/conf.d/first_run.fish index 1939c86..d098456 100644 --- a/conf.d/first_run.fish +++ b/conf.d/first_run.fish @@ -22,6 +22,16 @@ end # leave the shell in a state that re-triggers everything next session. set -U __fish_config_first_run_complete 1 +# ──────────────────────────── Man page symlink ────────────────────────── +# Install fish-config.1 into the user man database once, like an install step. +# Unconditional: standard enough that no category gate is warranted. +set -l _man1 ~/.local/share/man/man1 +set -l _src ~/.config/fish/docs/fish-config.1 +if test -f $_src; and not test -L $_man1/fish-config.1 + mkdir -p $_man1 + ln -sf $_src $_man1/fish-config.1 +end + # ──────────────────────────── Welcome message ─────────────────────────── # Printing a first-run welcome banner is opinionated (C6 greeting). The # first-run state variable is already set unconditionally above, so diff --git a/conf.d/tricks.fish b/conf.d/tricks.fish index 0191b20..a497b61 100644 --- a/conf.d/tricks.fish +++ b/conf.d/tricks.fish @@ -17,16 +17,10 @@ end fish_add_path ~/.local/bin fish_add_path ~/Applications/depot_tools -# Expose user-local man pages and keep fish-config.1 symlink current +# Expose user-local man pages if not contains ~/.local/share/man $MANPATH set -gx MANPATH ~/.local/share/man $MANPATH end -set -l _man1 ~/.local/share/man/man1 -set -l _src ~/.config/fish/docs/fish-config.1 -if test -f $_src; and not test -L $_man1/fish-config.1 - mkdir -p $_man1 - ln -sf $_src $_man1/fish-config.1 -end # Format man pages using bat (only if bat is installed) # Overriding $MANPAGER is opinionated (C3 overrides)