docs: state OS compatibility explicitly (Linux-only)

Adds an OS Compatibility section to the README and the Installation
manual page: developed and tested on Arch Linux, macOS and Windows
unsupported, with the specific Linux-only calls that back that claim
(systemd-inhibit, zramctl/swapon, sbctl, wl-copy/xclip with no
pbcopy/clip.exe fallback, GNU-only stat/numfmt flags) and the baseline
packages (git, gpg, tar, coreutils) assumed present rather than tracked
by fish-deps.

Adds os/os-compatibility/operating-system/compatibility/linux/macos/
mac/windows/wsl keywords to fish-config.index so `help config os` and
friends jump straight to it.
This commit is contained in:
2026-09-21 02:33:31 -04:00
parent 7a46881ca4
commit 7c59caebce
3 changed files with 82 additions and 0 deletions
+31
View File
@@ -12,6 +12,7 @@ abbreviation system for keyboard-driven workflows.
- [Overview](#overview)
- [Session Logging](#session-logging)
- [Documentation](#documentation)
- [OS Compatibility](#os-compatibility)
- [Installation](#installation)
- [Personalization](#personalization)
- [Minimal Mode](#minimal-mode)
@@ -170,6 +171,36 @@ The pager falls back through: **ov** → **bat** → **man -l** → **less** →
---
## OS Compatibility
This is a **Linux-only** configuration. It is developed and tested on an
Arch Linux system; `fish-deps` also detects `apt`, `dnf`, `zypper`, and `yum`
for broader distro support, but coverage outside Arch is thinner.
A number of functions call Linux-specific subsystems directly, with no
fallback: `systemd-inhibit` (`wake-lock`), `zramctl`/`swapon` (`swapstat`),
`sbctl` and UEFI Secure Boot state (`sbver`), `wl-copy`/`xclip` for clipboard
access (`y`, `p`, `paste`, `hist` — Wayland or X11 only, no `pbcopy`/`pbpaste`
fallback), and GNU coreutils flags like `stat -c`/`numfmt` (`sudo-toggle`,
`dng2avif`), which differ or don't exist under a BSD userland.
**macOS** is not supported — `_fish_deps_detect_pm` checks for `brew`, but
that alone doesn't make the functions above work; they have no macOS
equivalent path today.
**Windows** is not supported. Fish has no native Windows build, and this
config isn't tested under WSL either. WSL2 can run `systemd`, so basic shell
use may work, but Secure Boot/zram state is meaningless inside a VM and
clipboard integration has no WSL-specific path here.
**Assumed present on any Linux system this runs on:** `git`, `gpg`, `tar`,
and GNU coreutils. These aren't tracked by `fish-deps` — they're base-system
utilities, not opt-in software with an install journey to manage.
See [OS Compatibility](https://fish.rootiest.fyi/10-installation/#os-compatibility) in the project wiki for more.
---
## Installation
This config is managed as a Git repository. To use it on a new machine: