From b159599ece4d6889f8199fb0d079548823671677 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 5 Jun 2026 11:06:00 +0100 Subject: fix(nix,meta): keep imv/wl-mirror/sparrow on pacman (OpenGL context) Same root cause as ghostty: imv (OpenGL), wl-mirror (EGL) and sparrow (JavaFX/OpenGL) are GL/EGL apps that can't find the system Mesa/DRI driver when built by nix on a non-NixOS host. Remove them from nix/host.nix; add imv + wl-mirror to meta/base.txt (sparrow already lives in meta/btc.txt as sparrow-wallet). Refresh the stale base.txt media comment accordingly. --- meta/base.txt | 14 ++++++++------ nix/host.nix | 19 ++++++------------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/meta/base.txt b/meta/base.txt index 8d82fb3..7b26ce9 100644 --- a/meta/base.txt +++ b/meta/base.txt @@ -95,13 +95,15 @@ woff2-font-awesome # Compositor (ships /usr/share/wayland-sessions/sway.desktop — login-manager # coupled, must stay on pacman). The user-leaf session tools — waybar, # fuzzel, wofi, mako, swayidle, swayr, inhibridge, bemoji, grim, -# slurp, wf-recorder, wtype, wl-clipboard, cliphist, imv, wl-mirror, wob, +# slurp, wf-recorder, wtype, wl-clipboard, cliphist, wob, # poweralertd, playerctl, pulsemixer — now come from nix/host.nix. sway -# ghostty: GPU/OpenGL terminal. Kept on pacman (not nix/host.nix) because -# nix-built GL apps on a non-NixOS host can't find the system Mesa/DRI -# driver and die with "missing OpenGL context". -ghostty +# GPU/OpenGL & EGL apps kept on pacman (not nix/host.nix): nix-built GL apps +# on a non-NixOS host can't find the system Mesa/DRI driver and die with +# "missing OpenGL context". On pacman they link against system Mesa. +ghostty # GPU/OpenGL terminal +imv # OpenGL image viewer +wl-mirror # EGL output mirror xdg-desktop-portal-wlr xdg-desktop-portal-gtk qt5-wayland @@ -164,7 +166,7 @@ perl-net-smtp-ssl # --- media (mpv is the io.mpv.Mpv flatpak in meta/flatpak.txt; streamlink # and yt-dlp now come from nix/host.nix and pipe/launch into the flatpak # mpv via `flatpak run io.mpv.Mpv`, see dot_config/streamlink/config. -# Bitcoin wallet — sparrow — also lives in nix/host.nix.) --- +# Bitcoin wallet — sparrow-wallet — lives in meta/btc.txt.) --- # --- desktop extras --- syncthing diff --git a/nix/host.nix b/nix/host.nix index 09c3df7..9b594b8 100644 --- a/nix/host.nix +++ b/nix/host.nix @@ -86,19 +86,17 @@ in wtype wl-clipboard # wl-copy + wl-paste cliphist # clipboard history (used by cliphist-{text,image} units) - imv - wl-mirror # ── Media control ──────────────────────────────────────────────────────── playerctl # MPRIS over session bus pulsemixer # TUI for PipeWire/PulseAudio - # NOTE: ghostty is intentionally NOT here — it is a GPU/OpenGL terminal. - # Nix-built GL apps on a non-NixOS host can't locate the system Mesa/DRI - # driver (the FHS /usr/lib drivers don't match nix's search paths) and - # fail at startup with "missing OpenGL context". It stays on pacman - # (meta/base.txt) so it links against the system Mesa. The same caveat - # applies to other GL/EGL apps (imv, wl-mirror, sparrow) — see base.txt. + # NOTE: GPU/OpenGL & EGL apps (ghostty, imv, wl-mirror, sparrow) are + # intentionally NOT here — they stay on pacman/AUR. Nix-built GL apps on + # a non-NixOS host can't locate the system Mesa/DRI driver (the FHS + # /usr/lib drivers don't match nix's search paths) and fail at startup + # with "missing OpenGL context". On pacman they link against system Mesa. + # ghostty/imv/wl-mirror live in meta/base.txt; sparrow in meta/btc.txt. # ── General CLIs migrated off pacman ────────────────────────────────────── qrencode @@ -115,11 +113,6 @@ in chezmoi paru - # ── GUIs ───────────────────────────────────────────────────────────────── - # Bitcoin wallet. Pulls zulu25 + JavaFX (~300 MB closure) but the AUR - # build pulled the same JRE anyway. - sparrow - # ── OCR ────────────────────────────────────────────────────────────────── # Override merges eng + por language data into a single derivation, # replacing three pacman packages (tesseract, tesseract-data-eng, -- cgit v1.3.1