# 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. ## 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. ## Debugging Replace `-all` with focused Wine channels around dialogs, shell integration, and file APIs: ```nix --set WINEDEBUG "+timestamp,+pid,+tid,+seh,+dialog,+commdlg,+shell,+ole,+file,+loaddll" ``` 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 ```