| 24 Feb 2026 |
Ihar Hrachyshka | btw I'm not saying lima or UTM is not better, it may be, I just don't know | 16:45:05 |
msgilligan | * Thanks for the reminder. I'm looking for maximum performance and seamless integration with the host. In my experience, Lima is best (among OSS solutions, at least) for headless and UTM for GUI, but I can't say that I've tried (the latest versions of) everything.
VZ is not Open Source but is built-in to macOS and is (in theory) higher-performance (especially for local file access.) Given that we're already running on a closed-source system I make an exception to my Open Source rule for it.
One of my goals is to have a GUI NixOS VM that is performant enough to be a daily-driver. I'm hoping the latest UTM with VZ will be able to deliver that.
For headless Linux, I really like Lima (though it is adding support for displays and for macOS guests, too) and have been using it for much longer than I've been using Nix. I created the nixos-lima GitHub organization with a fork of the original nixos-lima project so there could be an actively maintained public org/repo for NixOS VMs on Lima.
I use nixpkgs qemu via Nix Darwin for a Linux Builder VM, but to date I haven't found it nearly as friendly as Lima or UTM. I definitely need to take a another look. Do people use it for creating interactive VMs for development?
| 16:45:08 |
Ihar Hrachyshka | fwiw I used nixpkgs vms for my development when I didn't have my proxmox cluster. these days I mostly use it to try out changes before deploying on "real" machines. (I have intricate wiring in my flake where I can do nix run .#vm -- <name-of-machine> and get a nixpkgs VM running that replicates the real machine. if interested: https://github.com/booxter/nix/blob/1ce1adc071547996e791113c895b27856f6eaa25/lib/fleet.nix#L93 | 16:49:30 |
msgilligan | Thanks for the link, I will check it out! | 17:01:27 |
WeetHet | Wait what | 19:21:20 |
WeetHet | https://developer.apple.com/documentation/FSKit | 19:21:23 |
WeetHet | How did I miss this | 19:21:27 |
| @hythera:matrix.org left the room. | 19:26:32 |
WeetHet | Okay it's less useful then I thought | 19:31:38 |
| Presi300 joined the room. | 19:54:49 |
Presi300 | hello 👋 | 19:55:27 |
Randy Eckenrode | Apple uses it for their userspace filesystem implementations. There were several false starts transitioning it from a private framework to a public one. I don’t know if anyone has tried implementing a filesystem (or FUSE) on top of it. It requires entitlements, so it’s probably not very useful for us. | 20:19:59 |
Presi300 | how will nix-darwin's homebrew support handle pre-existing casks? | 20:20:42 |
Randy Eckenrode | The example looks like an implementation of bind mounts. | 20:21:25 |
WeetHet | I mean we can always ship a pre-built signed application alongside nix-darwin installation | 20:21:25 |
WeetHet | I don't know what it can even be used for? | 20:21:43 |
WeetHet | Mounting /opt/nix to /nix? | 20:21:49 |
Randy Eckenrode | Filesystems. I wonder if it’s possible to use it to implement libfuse. Right now, the only implementations are proprietary. | 20:25:02 |
Randy Eckenrode | * | 20:25:10 |
WeetHet | Is macFUSE closed source? | 20:25:36 |
Randy Eckenrode | Yes. That’s why we some stuff with stubs in Nixpkgs. | 20:26:05 |
WeetHet | They claim to be using FSKit | 20:26:10 |
Randy Eckenrode | * | 20:26:17 |
Randy Eckenrode | It’s possible they changed the implementation in a recent release. | 20:26:42 |
Randy Eckenrode | It would still be nice to have a copyleft implementation if only so we can distribute it. | 20:27:02 |
samasaur | https://github.com/macfuse/macfuse/wiki/FUSE-Backends | 20:27:48 |
samasaur | looks like they still default to a kernel extension and FSKit has a number of limitations | 20:28:14 |
WeetHet |
Using mount points outside of /Volumes is not supported by FSKit. This contradicts the Apple example, no?
| 20:28:45 |
WeetHet | *
Using mount points outside of /Volumes is not supported by FSKit.
This contradicts the Apple example, no?
| 20:28:53 |
Randy Eckenrode | Were some of those relaxes in macOS 26? The example mounts outside of /Volumes. | 20:29:02 |