![](https://spgrn.com/api/v3/image_proxy?url=https%3A%2F%2Fprogramming.dev%2Fpictrs%2Fimage%2F7c0c13c3-d6e5-48fd-a86a-9a24afa22597.png)
![](https://spgrn.com/api/v3/image_proxy?url=https%3A%2F%2Flemmy.ml%2Fpictrs%2Fimage%2Fq98XK4sKtw.png)
It was not too hard if you are already familiar with Nix. The features supported (and the custom Linux kernel) can be found in surface-linux. For NixOS I used the nix-hardware flake to simplify things.
The worst part was the compilation of the Linux kernel, that took hours on the surface. Eventually, I used the remote nix build feature to compile on a more capable computer.
Maybe I’ll write something in the future