Prompting My Mac
Last week my Dock icons felt too big. Instead of digging through System Settings or Googling weird defaults write commands, I just typed:
nix-ask "make my dock icons smaller"
Thirty seconds later, my Dock was smaller. Claude Code opened my Nix config, found the Darwin module, changed tilesize = 96 to 48, and rebuilt my system.
Here's the thing: when your entire Mac is defined in code, AI can actually help you configure it. It knows where everything lives.
The Problem with Normal Mac Setup
Most of us have configs scattered everywhere. Shell stuff in .zshrc, Git config in INI format, VS Code settings in JSON, Neovim in Lua. Want to change a system setting? Click through menus. Install a tool? Run brew install and hope you remember what you did later.
For an AI, this is a mess. There's no single place to look, no history for your settings, and no easy way to undo a broken config.
What Nix Does Differently
Nix lets you describe what your Mac should look like instead of running a bunch of commands to set it up.
My whole setup lives in one repo. Keyboard settings, Dock size, CLI tools, Neovim plugins—all of it. Same language, same structure. So when I point Claude Code at it, Claude actually knows what's going on.
flake.nix
├── modules/darwin/system.nix # macOS: Dock, Finder, Keyboard
├── home/packages.nix # Every CLI & GUI app I use
└── home/programs/rust.nix # Language-specific dev stuff
What This Actually Gets Me
1. Trying New Languages Is Easy
When I wanted to learn Gleam, I didn't spend twenty minutes installing things. I just said: nix-ask "I want to learn Gleam. Add the compiler and LSP to my config."
Claude found my package list, added the dependencies, and rebuilt. I was writing Gleam code in under a minute.
2. I Can Experiment Without Worrying
Usually I avoid tweaking my setup because I don't want to break something that works. But with Nix, every change is a Git commit. If Claude tries to "improve my Zsh aliases" and I hate it, I just run git checkout . and rebuild. Done.
3. I Don't Need to Remember Where Settings Are
I have no idea where macOS hides the "Natural Scrolling" toggle. I don't remember how to remap Caps Lock to Escape. But I don't need to. I wrapped this into a simple alias:
nix-ask() {
(cd ~/nix-config && claude --dangerously-skip-permissions "$*")
}
Now I just say what I want ("I need a simpler terminal theme") and Claude figures out which files to edit.
Why I Like This
It's not about being clever with configuration. It's about spending less time setting things up and more time doing actual work.
My Mac used to be this thing I maintained. Now it's more like something I can just ask for what I need. That's pretty nice.
If you want to try this yourself, check out nix-darwin. It takes some time to set up, but once it's running, adding Claude Code on top makes things way easier.