Current state of NixOS on Arm?

I’m looking to install NixOS on my cluster of Odroid M1 and HC1 systems. I’m starting with the AARCH64 image, then once that’s working I’ll try the ARM7 build.

I’ve been trying to follow the SD card image build on the NixOS on ARM - NixOS Wiki page using a GitHub Action (from GitHub - davegallant/nixos-pi: NixOS configuration and OS image builder (builds for the Raspberry Pi)) and keep getting this error:

Preparing store paths for image…
Creating an EXT4 image of 3394146304 bytes (numInodes=105196, numDataBlocks=618257)
semop(1): encountered an error: Function not implemented
error: builder for ‘/nix/store/n570scib11h94s7nxgsmdspfq7080mh7-ext4-fs.img.zst.drv’ failed with exit code 1;
last 4 log lines:

/nix/store/gmgwidh4rc9wv35kgl7a59caxg7f570q-extlinux-conf-builder.sh: line 133: cd: /nix/var/nix/profiles: No such file or directory
Preparing store paths for image…
Creating an EXT4 image of 3394146304 bytes (numInodes=105196, numDataBlocks=618257)
semop(1): encountered an error: Function not implemented

I tried a few variants of nixpkg releases, but the newer releases got stuck even earlier.
I also tried migrating this to nixos-generators and a flake, but got the same error.

Is there newer documentation for build ARM images?

Searching this gives results related to qemu

I’ve been able to cross-compile a standard configuration.nix
by just adding

imports = [
  (modulesPath + "/installer/sd-card/sd-image-aarch64.nix")
  #(modulesPath + "/profiles/minimal.nix") optional to make the image smaller
];

and a

# very heavy to build
boot.kernelPatches = [
  {
    name = "no-debug-info";
    patch = null;
    extraConfig = ''
      DEBUG_INFO n
    '';
  }
];

if the kernel wasn’t cached