Imagine your MacBook suddenly dies. Years of careful customization - your apps, desktop layout, and system settings - are gone in an instant. Setting up a new machine exactly like your old one typically takes hours, if not days. Maybe your Mac didn’t die, maybe you’ve made a few quick changes you picked on Google and now it’s completely messed up and you want to roll it back. Most users tackle this problem manually. We’ve all been there.We install apps one by one, tweak system settings individually, and try to remember all their customizations. Some might use backup software or cloud syncing for parts of their setup, but it’s often incomplete and doesn’t cover system-level configurations. This approach is slow, tedious, and inconsistent.It’s easy to forget specific settings or apps, leading to an imperfect recreation of your work environment. Plus, if you switch between multiple machines or need to set up a new computer, this process becomes a major time sink. It also doesn’t solve issues like Homebrew environments breaking or system configurations becoming messy over time. Enter Nix Darwin - a game-changer for Mac configuration
Getting Nix Darwin starts with getting Nix. I made a video about it recently to help you get started. Once Nix is ready it’s time to install Nix Darwin; I went with the flakes option but there are a bunch of other alternatives in the project’s docs. When you’ve got everything installed, you can now start configuring your local flake, and run: That’s pretty much it. Every addition you make to the flake, run the command and it’ll take care of the heavy lifting. I keep my flake up to date and pushed to GitHub so that it’s always recover-able and fetch-able remotely. By using Nix Darwin, you’re not just saving time - you’re ensuring consistency across all your machines and making your entire setup trackable and reversible. It’s a powerful tool that turns the daunting task of system configuration into a simple, reproducible process. While there’s a learning curve to using Nix Darwin, the payoff in terms of efficiency and peace of mind is crazy. Say goodbye to the days of painstaking manual setup and hello to a world where your perfect Mac configuration is always just a few commands away. I have a new video on my channel covering Nix Darwin installation, management and everything you need to know. Make sure to check it out and drop a comment! As always, thank you for reading, I hope this was valuable, feel free to reply directly with thoughts! |
Every once in a while I send hand picked things I've learned. Kind of like your filter to the tech internet. No spam, I promise!
How I Setup Terminal On My Mac To Make It Amazing I often get asked about my "terminal setup", and I try to throw tips but it's never enough. This answer took a long time to compile but I'm glad to share it: A terminal setup from scratch (literal white screen terminal) to multiplexing, color output, auto-completion, history manager, fonts, nerd fonts etc etc etc... I learned that the journey to a “perfect” terminal setup is a personal one, built from years of small, incremental improvements....
The Unreasonable Effectiveness of 12-Factor Apps This issue is brought to you by: Twingate: It's time to ditch your VPN. Keep private resources and internet traffic protected with Zero Trust security tools built for the modern world of work. Start securing your Kubernetes clusters today! The title of this newsletter isn’t just fluff; it points to a fundamental truth in software development. Often, the most expensive problems stem from ignoring a few simple, foundational rules. The...
FFmpeg Converts ANYTHING - The Trick Book I Wish I Had This issue is brought to you by: Learn backend development the smart way with boot.dev Use the code DEVOPSTOOLBOX to get 25% off your first payment for boot.dev. Get Started Today The title of this newsletter isn't an exaggeration. There's a single, free tool that can genuinely convert, create, and manipulate almost any media file you throw at it. It’s the hidden engine powering everything from YouTube, through OBS, online media...