from Hacker News

Show HN: Lume – OS lightweight CLI for MacOS and Linux VMs on Apple Silicon

by GreenGames on 2/2/25, 11:46 AM with 75 comments

We just open-sourced Lume - a tool we built after hitting walls with existing virtualization options on Apple Silicon. No GUI, no complex stacks - just a single binary that lets you spin up macOS or Linux VMs via CLI or API.

Why we built Lume: - Run native macOS VMs in 1 command, using Apple Virtualization.Framework: `lume run macos-sequoia-vanilla:latest`

- Prebuilt images on https://ghcr.io/trycua (macOS, Ubuntu on ARM)

- API server to manage VMs programmatically `POST /lume/vms`

- A python SDK on github.com/trycua/pylume

Run prebuilt macOS images in just 1 step: lume run macos-sequoia-vanilla:latest

How to Install:

brew tap trycua/lume

brew install lume

You can also download the `lume.pkg.tar.gz` archive from the latest release https://github.com/trycua/lume/releases, extract it, and install the package manually.

Local API Server: `lume` exposes a local HTTP API server that listens on `http://localhost:3000/lume`, enabling automated management of VMs.

lume serve

For detailed API documentation, please refer to API Reference(https://github.com/trycua/lume/blob/main/docs/API-Reference....).

HN devs - would love raw feedback on the API design and whether this solves your Apple Silicon VM pain points. What would make you replace UTM/Multipass/Docker Desktop with this?

Repo: https://github.com/trycua/lume Python SDK: github.com/trycua/pylume Discord for direct feedback: https://discord.gg/8p56E2KJ

  • by ammmir on 2/2/25, 1:51 PM

    congrats on the open sourcing and launching! beyond the desire to run VMs in "1 command", i don't quite get the reasoning behind this project. could you elucidate? like, besides running macOS VMs, how is it different from lima, colima, and friends? the name lume is quite unfortunate.

    the hard part about running VMs isn't really how to launch them (well, ahem, i'm looking at you, qemu), but getting data in and out, and controlling them. some feature requests, if i may ;)

        # take screenshot
        # this should do the right thing(TM) and take a screenshot of the logged-in user session, which may not necessarily be the console
        lume screenshot <vm name> [-o <file.png> | -]
    
        # execute command
        lume exec <vm name> [--as-user <user>] <command> [args]
    
        # copy files in and out
        lume cp <vm name>:<vm path> <local path>
        lume cp <local path> <vm name>:<vm path>
    
        # run clone as new VM
        # this should appropriately roll the MAC address, IPs, and reseed any RNGs, of course
        lume run --clone <clone name> <vm name>
    
    Can you clone a VM while it's running?

    The ability to resume a VM within < 1 second would be useful for on-demand workflows without waiting for a full VM bootup sequence, similar to how you can get a firecracker microVM into the state you want, snapshot it.. then clone as you wish, and resume back into the guest.

    You may need to preinstall an agent (a la Parallel/VMware Tools) to make sure this is seamless and fast.

  • by oulipo on 2/2/25, 12:59 PM

    Would this allow to run a near-native speed VM with a decent-speed Docker server inside, and thus allow to have an Orb-like speed for docker containers?
  • by Khaine on 2/2/25, 1:10 PM

    How does this compare to Lima[1] and Tart[2], which are similar?

    Also, would it be possible to run BSDs with this?

    [1] https://lima-vm.io

    [2] https://tart.run

  • by mightysashiman on 2/2/25, 2:59 PM

    Would you mind educating me about use cases for having one or even multiple MacOS VMs on an apple silicon machine please?
  • by joshlk on 2/2/25, 5:22 PM

    Can you use to launch an Intel VM on Apple Silicone and visa versa? I’m interested in doing this so I can compile C++ applications for different architectures on MacOS. Do you know of any other “easy” methods?
  • by zxcb1 on 2/2/25, 1:13 PM

    I read GPU and USB passthrough somewhere and did not believe it
  • by catskull on 2/2/25, 4:05 PM

    Looks interesting! I’ve been playing with UTM to do aarch64 VMs and I even cooked up a little Sinatra server to do some AppleScript to reboot the VM and do some other things on the host. I’ll look at this as a more robust solution as to be completely honest, UTM has left a lot to be desired at least for virtualization.
  • by bawana on 2/2/25, 3:18 PM

    So will this ever be able to run a lightweight windows vm?
  • by zombot on 2/3/25, 7:34 AM

    I would be interested in running older macOS versions in a VM, but those would be x64-based and an Apple Silicon host is impractical for that.
  • by stephenr on 2/2/25, 5:07 PM

    This looks interesting but unless there's a vagrant plugin to use it, I'm pretty unlikely to spend any serious time using it.
  • by miles on 2/2/25, 7:27 PM

    > What would make you replace UTM/Multipass/Docker Desktop with this?

    Just checked my list of VMs in UTM; 5 Linux (Ubuntu, Debian, and Fedora), 9 Mac OS X/OS X/macOS (versions stretching back from Tiger to Sequoia), and 10 Windows (XP through 11). Lume would need to support not only Windows but also emulation in order to consider a move.

  • by wynemo on 2/3/25, 8:43 AM

    It's a good project, but it just has too few built-in images.
  • by gcr on 2/2/25, 10:20 PM

    great! how does this compare to orbstack?

        brew install orbstack
        orb
        # you're now running in an ubuntu VM
  • by dangoodmanUT on 2/2/25, 3:24 PM

    would be nice if you can bind ports!
  • by jppope on 2/2/25, 8:20 PM

    not really stoked about the name since there are a couple other projects named lume:

    - https://lume.land/

    The project looks cool though

  • by Retr0id on 2/2/25, 1:29 PM

    The title of this post took me about 3 attempts to parse, because "OS" is more strongly bound to Operating System in this context (but presumably it's supposed to read as Open Source)
  • by TekMol on 2/2/25, 12:26 PM

    I wish it was possible to run a Debian VM on iOS.

    For laptops, there are many nice options. But for tablets, the latest iPads are currently unmatched at under 600 grams for a 13" tablet. So I would love to use one of those.

  • by ricw on 2/2/25, 1:07 PM

    Is macOS up to scratch to be used as a server these days? Last I checked it would always run into trouble / randomly reboot / become unavailable whenever a new OS update became available. Admittedly this is about 2 years ago.

    If so, this would be great. Particularly to repurpose older macs.

  • by mattbillenstein on 2/2/25, 4:47 PM

    I know the Mac hardware is pretty trick, but man, I do most of my dev on Linux and have a Framework Laptop (AMD) running Ubuntu; it's just really nice for dev stuff to work the same way it does on our production environment...

    Also, the frequency and size and time to install MacOS updates - like these computers are blazingly fast from the cpus to the SSDs - after an update has downloaded, what could it possibly be doing that takes 30+ minutes to install? I've never had to wait for an apt-get upgrade that long.

  • by keb_ on 2/2/25, 6:04 PM

    Name clash with the not very well known Lua library, you should strongly consider changing the name https://github.com/rxi/lume