RSS Amplifier

Duy NG · Sep 26, 2025

[Note] Revisiting Nix: Reflecting on My Second Attempt

0
Sign in to vote or save

This page cannot be shown here. You can still read it on the original site — the toolbar below keeps your place in the directory.

Backend Engineer · Open source · Terminal

Managing everything with nix-darwin + home manager

At the beginning of the year, I tried Nix for the first time. I even wrote about my first attempt: migrating from Homebrew to Nix with Home Manager.

This time, I finally made it work.

I’m now running nix-darwin + nix home manager with flakes to manage all my dotfiles. The cool part: I don’t need stow anymore. Nix (through flakes) handles all the symlinks. See my old note about stow dotfiles, now all of that is replaced by Nix.

Flakes make the whole setup feel cleaner: everything is versioned, pinned, and reproducible. One nix flake update → all dependencies stay fresh but consistent across machines.

Everything is in one place, declarative, reproducible. Install and update feels much faster than when I was only using brew.

I still keep Homebrew integrated in my Nix config, mostly for tools missing in nixpkgs or Mac desktop apps via cask:

    brews = [
      "sst/tap/opencode" # AI tool
    ];

    casks = [
      # Terminals
      "ghostty@tip"
      "wezterm"

      # Development tools
      "visual-studio-code"
      "podman-desktop"

      # Productivity
      "bitwarden" # Password manager
      "homerow" # Mouseless navigation
      "nikitabobko/tap/aerospace" # Tiling window manager
    ];

Homebrew is still better for launching those from spotlight.

But now:

  • configs + dotfiles = Nix flakes
  • updates = one command
  • machines = reproducible setup

Feels super clean.

Read on /notes/nix-again/

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.