diff --git a/README.md b/README.md index 32f2d99..0310fe8 100644 --- a/README.md +++ b/README.md @@ -359,24 +359,24 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot. hyprlock/hypridle on unlock. ## Known issues & follow-ups -- **Yazi TOML parse error on startup:** `[[plugin.prepend_fetchers]]` is - rejected with `missing field 'group'` (Yazi falls back to preset - settings). The fetcher schema gained a required `group` field; add it to - both git fetcher entries (e.g. `group = 0`) in `modules/home/yazi.nix:49`. +- ✓ **Yazi TOML parse error on startup:** yazi 26.x made fetchers' + `group` field required, so `[[plugin.prepend_fetchers]]` failed to parse + and yazi fell back to presets. Fixed by adding `group = "git"` to both + git fetcher entries in `modules/home/yazi.nix` (the git plugin's + `setup()` only renders the linemode; the fetcher still needs registering). - **Starship prompt styling:** drop the powerline look — the current prompt doesn't read well. Rework the `format`/segment styling in `modules/home/shell.nix:59` toward a flat, plain prompt. -- **xfce deprecation warnings:** `xfce.exo`, `xfce.thunar-archive-plugin`, - `xfce.thunar-volman`, `xfce.thunar-media-tags-plugin` were moved to - top-level. Switch to `pkgs.xfce4-exo`, `pkgs.thunar-archive-plugin`, - `pkgs.thunar-volman`, `pkgs.thunar-media-tags-plugin` in - `modules/nixos/file-manager.nix`. +- ✓ **xfce deprecation warnings:** moved `xfce.exo` → `pkgs.xfce4-exo` and + the three Thunar plugins to their new top-level names in + `modules/nixos/file-manager.nix`; the eval warnings are gone. - **Rofi function keybindings:** add direct Hyprland binds for the `nomarchy-menu` sub-functions (calc, web search, file search, clipboard, …) instead of only reaching them through the menu — see the planned binds in the Menu-system roadmap item and `modules/home/hyprland.nix`. -- **Enable nix-ld by default:** turn on `programs.nix-ld` distro-wide so - prebuilt/foreign dynamically-linked binaries run out of the box. +- ✓ **Enable nix-ld by default:** `programs.nix-ld.enable` is on distro-wide + (`modules/nixos/default.nix`), so prebuilt/foreign dynamically-linked + binaries run out of the box. - **Hyprland border colors off for some themes:** the active/inactive border colors don't match the legacy branch for several themes — audit `col.active_border`/`col.inactive_border` generation in diff --git a/modules/home/yazi.nix b/modules/home/yazi.nix index 37d54fd..d63c677 100644 --- a/modules/home/yazi.nix +++ b/modules/home/yazi.nix @@ -46,9 +46,12 @@ in }; plugin = { # git status in the linemode (fetcher registered before setup). + # yazi 26.x made `group` required on fetchers (without it the + # config fails to parse and yazi falls back to presets); "*" + # matches files, "*/" dirs, so they share the "git" group. prepend_fetchers = [ - { id = "git"; url = "*"; run = "git"; } - { id = "git"; url = "*/"; run = "git"; } + { id = "git"; url = "*"; run = "git"; group = "git"; } + { id = "git"; url = "*/"; run = "git"; group = "git"; } ]; # Route only audio + subtitles to mediainfo's text metadata; # images/videos keep yazi's native visual thumbnails. Markdown diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 08f720f..6495f15 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -20,9 +20,9 @@ in # DEFAULT_HOSTNAME and upstream isNixos checks (see roadmap). system.nixos.distroName = lib.mkDefault "Nomarchy"; - # Unfree allowed distro-wide: pragmatic-desktop territory (claude-code - # for the menu's ask-Claude module, vendor drivers, …). The custom - # nixpkgs-config type can't carry a nested mkDefault; disagree with + # Unfree allowed distro-wide: pragmatic-desktop territory (vendor + # GPU/wifi drivers, firmware, fonts, …). The custom nixpkgs-config + # type can't carry a nested mkDefault; disagree with # `nixpkgs.config = lib.mkForce { allowUnfree = false; }`. nixpkgs.config.allowUnfree = true; @@ -85,6 +85,13 @@ in hardware.bluetooth.enable = lib.mkDefault cfg.bluetooth.enable; services.blueman.enable = lib.mkDefault cfg.bluetooth.enable; + # ── Foreign binaries: nix-ld ───────────────────────────────────── + # An ld.so shim so dynamically-linked binaries not built for NixOS + # (downloaded tools, language servers, pip/npm-installed ELFs, the + # npx-fetched claude-code) run without manual patchelf. On by default — + # a pragmatic-desktop expectation. + programs.nix-ld.enable = lib.mkDefault true; + # ── Firmware ───────────────────────────────────────────────────── # Blobs for in-kernel drivers: wifi (iwlwifi/ath/rtw/brcm), SOF # audio, Bluetooth. Drivers ship with the kernel, but without these diff --git a/modules/nixos/file-manager.nix b/modules/nixos/file-manager.nix index 33a46e2..adc8c92 100644 --- a/modules/nixos/file-manager.nix +++ b/modules/nixos/file-manager.nix @@ -13,7 +13,7 @@ in config = lib.mkIf cfg.fileManager.enable { programs.thunar = { enable = lib.mkDefault true; - plugins = with pkgs.xfce; [ + plugins = with pkgs; [ thunar-archive-plugin # create/extract archives from the context menu thunar-volman # auto-manage removable drives/media thunar-media-tags-plugin # rename/inspect audio by tags @@ -28,7 +28,7 @@ in ffmpegthumbnailer # video thumbnails (Thunar + yazi) libgsf # ODF thumbnails poppler-utils # PDF thumbnails / pdftoppm (yazi PDF preview too) - xfce.exo # "Open Terminal Here" and default-app associations + xfce4-exo # "Open Terminal Here" and default-app associations shared-mime-info # MIME database ]; };