Change:
config = mkIf cfg.enable { assertions = [ { <del> assertion = pkgs.stdenv.hostPlatform.isx86; </del> <ins> assertion = pkgs.stdenv.hostPlatform.isx86 || pkgs.stdenv.hostPlatform.isAarch64; </ins> message = "VMWare guest is not currently supported on ${pkgs.stdenv.hostPlatform.system}"; } ]; boot.initrd.availableKernelModules = [ "mptspi" ]; <del> boot.initrd.kernelModules = [ "vmw_pvscsi" ]; </del> <ins> boot.initrd.kernelModules = lib.optionals pkgs.stdenv.hostPlatform.isx86 [ "vmw_pvscsi" ]; </ins> environment.systemPackages = [ open-vm-tools ];

Discussion:
The option does not work on aarch64-linux due to See also It seems that the current issue is that does not build on aarch64-linux. Steps to reproduce the behavior: NixOS on aarch64-linux. the option. the failure. aarch64-linux support n/a See also <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result. Maintainer information:
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
It looks like is only pulled in when : Maybe the assertion could be relaxed a bit?
Bump. Please change this so that we can at least use the guest tools in headless mode as mentioned here:
Can you submit a PR and change the assertion message? This makes sense.
or could you give a try?
Any suggestions on how to update the assertion message? Am not sure if it should also be conditional.
Can you tell me how to single pick this PR in my configuration? Define an override?
Yes. There are multiple ways to do this. So finding the simplest or easiest way will depend on your current setup. How do you define/import nixpkgs in your configuration? That'd be one way to do it. AFAIK you'd need to add the vmware- file to (), and bind a new nixpkgs reference to my branch, where you'd import that module from.
AFAICT this is also a blocker for creating a graphical ISO for :
Seems to work on aarch64 for me:
Does not seem to work for me: ! ! Rebuild: ! Assertion is in ! (Sorry for screenshots, but copy/paste does not work yet ... as it requires the vmware guest tools ... )
Any progress - I am a begginer in nixOS. So the way to learn is setup a VM But then I hit this. What are the exact steps to use this PR? This is not just a mouse issue as the previous comment not it stops cut and paste. It also shops the use of shared folders so a fix is needed for the headless case as well.
I would love to have vmware guest on aarch64 too.

I'm running VMWare Fusion on my M1 macbook. I tried the above, of disabling the vmware- and adding my own with the assert modified to accept Aarch64. However it not building x11 mouse is one issue, but even with headless = true it still fails; in this case vmw_vpscsi fails in the kernel build: !
that's a module that comes with the kernel and not vmware. It looks like it's not supported under non-x86 architectures: so we should remove it from the module if not on x86
can you test ? I don't have aarch64 but this might work.
Magic. It built successfully and as soon as nixos-rebuild switch completed my X desktop resized to match my monitor (automatically). I just used my own local vmware- (disabling the system one), in which I made the two changes that are in kjeremy's PR ^ Thank you.
Could you elaborate how you did that? The furthest I got still gives me