# ArrowVortex (Nix flake) This flake packages [ArrowVortex](https://github.com/uvcat7/ArrowVortex) from the upstream Windows release zip and runs it with Wine. The default Wine prefix is `$XDG_DATA_HOME/arrowvortex/wine-` (or `~/.local/share/arrowvortex/wine-` when `XDG_DATA_HOME` is unset). Override with `WINEPREFIX` if you want a different prefix. The versioned prefix deliberately leaves the old unversioned `arrowvortex/wine` prefix alone. It was created by an earlier Wine build and does not reliably show ArrowVortex's native file dialog. The new default starts with a clean compatible prefix; your Windows `Z:` drive still exposes your normal Linux files. ## Run from a local checkout ```bash nix run . ``` ```bash nix build . ./result/bin/arrowvortex ``` Run directly from Git ```bash nix run git+https://git.plebsaber.stream/arrowvortex-wine ``` ## Requirements - Nix with flakes enabled (`experimental-features = nix-command flakes`). Wine and GUI dependencies come from nixpkgs; you need a working display (X11 or Wayland) for the editor window. The packaged Wine 11.0 launcher has been verified on KDE Plasma Wayland: **File → Open** opens Wine's `Open file` dialog. ## Debugging The launcher defaults to quiet Wine logging, but respects `WINEDEBUG` when you set it. Use focused channels around dialogs, shell integration, and file APIs: Most useful pieces: - `+commdlg`: common file dialog activity, likely the key one for `File > Open`. - `+dialog`: generic dialog/window creation. - `+shell`: shell folder / file picker integration. - `+ole`: COM/OLE calls, often involved in modern shell dialogs. - `+file`: filesystem open/stat failures after a path is chosen or dialog initializes. - `+seh`: exceptions that might be swallowed by the app. - `+loaddll`: missing DLL clues. - `+timestamp,+pid,+tid`: makes logs easier to follow. Run it from a terminal and capture stderr, for example: ```bash WINEDEBUG="+timestamp,+pid,+tid,+seh,+dialog,+commdlg,+shell,+ole,+file,+loaddll" arrowvortex 2>&1 | tee /tmp/arrowvortex-wine.log ``` If that is too noisy, start with: ```bash WINEDEBUG=+x11drv,+wayland,+commdlg ```