The Third Door: USB for the Creality Pika on Linux

In August I wrote a long post about getting my Creality CR-Scan Pika running on Linux, and one section in it had a very confident heading: Why USB Under Wine Is a Dead End. I had traced the problem down to a single unimplemented function, written it up, and made my peace with it. Scanning went over WiFi, calibration happened in a Windows VM, case closed. Then I took the scanner to the office to show it off. ...

October 25, 2026 · 11 min · Manuel Herrmann

Two Doors, One Scanner: Running the Creality CR-Scan Pika on NixOS

I spent the first evening certain it was a udev permissions problem. The second, equally certain it was WinUSB. The third I spent reading OrbbecSDK.dll’s import table and finding out it was neither, and that the thing I had been trying to fix could not be fixed at all. The scanner is a Creality CR-Scan Pika. Creality ships CrealityScan for Windows, macOS and Android, and as of 4.3.1 there is no Linux build and no sign of one coming. The scanner sits on itw, the desktop I actually work on, and the alternative to solving this was rebooting into Windows whenever I wanted to scan something. That is the kind of friction that ends with you not scanning things. ...

August 30, 2026 · 22 min · Manuel Herrmann

One Git Repo to Rule Them All: Managing 12 Machines with NixOS

The Pain Before the Solution I started with Gentoo. If you know, you know: USE flags, emerge --sync, watching a browser compile for six hours, and the quiet satisfaction of a system shaped entirely to your will. It was maximum configuration at maximum cost - every package exactly how you wanted it, every kernel option hand-chosen, every dependency chain personally audited. It was also completely unreproducible. The system on disk was the result of hundreds of commands typed across months. If the disk died, so did the configuration. You could document it, but documentation and reality drift apart fast. ...

March 21, 2026 · 17 min · Manuel Herrmann