Launching today
Nixmac
Nix-darwin that speaks plain English
55 followers
Nix-darwin that speaks plain English
55 followers
nixmac turns your Mac into a reproducible, version-controlled system. Describe what you want in plain English — it writes the Nix, builds it, and applies it safely.









Nixmac
RiteKit Company Logo API
@cooper_maruyama Congrats on launching Nixmac — nix-darwin that speaks plain English lowers the bar for a lot of people who bounced off Nix. We made you a free launch video for it (below), yours to download and re-use anywhere, no strings, and it is whitelabel. You can add it to your launch page in here; launches with video tend to do better than those without.
We built it with FoxPlug: paste your site and it turns what you just shipped into a launch video, images, GIFs and posts in about 30 seconds. This one is on us — make your own free at https://foxplug.com
Foyer
The hard part of nix-darwin isn't writing the initial config, it's understanding why a rebuild failed three weeks later when you've forgotten what you changed and the error message is a wall of Nix evaluation trace. Curious whether Nixmac helps with that debugging side, or whether it's mostly focused on the generation step. Also wondering how it handles the gap between what someone asks for in plain English and what's actually available in nixpkgs or the darwin module set, since a lot of the friction in practice comes from options that exist in theory but have subtle constraints you only discover by reading the source.
Nixmac
@fberrez1 We do things like bundling the nixos options doc and even a custom tool that's specifically for parsing the nixos options. Nix also just happens to be very LLM-friendly, which is why it's able to one-shot even quite complex prompts, whereas if an LLM was asked to do the same thing by driving a computer and a terminal, it may fail and/or use a lot more tokens.
Also, Nix is unique in that you can `nix eval` or `nix build` and sort of get an idea if the proposed change will be successful - we do that in the background to increase the probability that the proposed change will work.
The plain-English → generated Nix → safe-apply loop is the right shape for the people Nix usually scares off, but the safety hinges on what I can see before it runs. Does it show the generated Nix diff for review before applying, and is each apply a rollbackable nix-darwin generation I can revert if a vague request compiles to the wrong thing? Curious how it handles an ambiguous request — ask to clarify, or guess and let me roll back?
Nixmac
@hi_i_am_mimo Of course! I'm a heavy nix user myself, and one of the "not-optional" constraints we give ourselves is that it should never feel like it "gets in the way" to Nix natives.
Curious how it handles apps you download outside of Homebrew or the App Store, like random .dmg utilities, can Nixmac pick those up or do you have to manually add them to the config?
Nixmac
@sevilmoolkghgs If it's not on homebrew or supported by home-manager / nix-darwin, in my experience it tends to write a script that gets called on activation that tries to install it. For example, it might find a link to the dmg somewhere. I'd assume this is what most agents would do, so maybe Nixmac is not the ideal tool for something like this
I run a laptop plus a Mac mini I use for local model work, and config drift between the two is exactly the kind of thing Nix is supposed to solve but plain-English descriptions make me wonder about. If I describe a setup in English on one machine, is the generated config meant to be portable to a second machine as-is, or does Nixmac bake in host-specific assumptions (hardware, installed apps) that I'd need to redo per machine? Basically: is the "plain English" step a one-time per-machine thing, or does it produce something closer to a shared base config with per-host overrides layered on top?
Tried it on my M2 and was surprised how the natural language description actually translated into clean nix code without me editing anything. The dry-run build before applying was a nice touch for someone who breaks their config weekly.
Nixmac
@downs_jova35899 I just sighed with relief. We've worked really hard on it but as a developer I've found that things find a way of going wrong as soon as you show it to someone lol
The plain-English layer over nix-darwin sounds interesting. Is Nixmac mainly meant for generating an initial macOS config from natural language, or does it also help maintain and edit an existing nix-darwin setup over time? I’m curious how much control it exposes when someone wants to inspect or tweak the generated config directly.
Nixmac
@mia_qiao Over time. I'm a nix native and built it for myself. My personal repo has hundreds of commits!