# GUI file manager — Thunar (lightweight GTK, Stylix-themed) plus the # backend services a standalone compositor needs for it to work fully: # gvfs (trash/mount/network), tumbler (thumbnails), udisks2 (removable # media — also what yazi's mount plugin drives). The keyboard-driven TUI # flagship is yazi (modules/home/yazi.nix); this is the point-and-click # half and the XDG handler for "open folder" / "show in files". { config, lib, pkgs, ... }: let cfg = config.nomarchy.system; in { config = lib.mkIf cfg.fileManager.enable { programs.thunar = { enable = lib.mkDefault true; 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 ]; }; services.gvfs.enable = lib.mkDefault true; # trash, mounts, network shares services.tumbler.enable = lib.mkDefault true; # thumbnail generation services.udisks2.enable = lib.mkDefault true; # mount/unmount removable media environment.systemPackages = with pkgs; [ file-roller # GUI archive manager (backend for thunar-archive-plugin) ffmpegthumbnailer # video thumbnails (Thunar + yazi) libgsf # ODF thumbnails poppler-utils # PDF thumbnails / pdftoppm (yazi PDF preview too) xfce4-exo # "Open Terminal Here" and default-app associations shared-mime-info # MIME database ]; }; }