Thus Far#

TL;DR#

  • I’ve been messing with Nix on macOS, probably not correctly.
  • Switched my website from Jekyll to Hugo because Jekyll felt abandoned.
    • Used a pre-made theme because making my own CSS sounded exhausting.
  • Want to learn Go and build some simple CLI tools.

Now, for the long version…#

My Nix Setup (Probably Not Done Right)#

I’ve been using nix-darwin to manage my macOS system declaratively—meaning instead of manually installing apps, setting preferences, and tweaking my environment, I define everything in configuration files. Sounds great, right? In theory, yes. In practice… I’m pretty sure I’ve done some things wrong. But it works (mostly), so I’ll count that as a win.

What the hell is Nix?#

Nix Logo Now this is a great question—one that does not have a cut-and-dry answer. The basic explanation? A cross-platform package manager. That alone makes it a powerful tool, but Nix is also an OS and a functional programming language. It provides a way to make reproducible systems, environments, and so much more. Maybe I’ll take a deeper dive into this rabbit hole later.

Here’s what I’ve attempted:

  • Modular Configs – Splitting my setup into logical pieces like homebrew.nix, zsh.nix, and macos.nix.
  • Automating System Setup – In theory, I should be able to wipe my Mac and get everything back exactly as it was. In reality? Let’s not test that just yet.
  • Dev Shells – One of the cooler things I’ve played with is using Nix to set up development environments. Instead of manually installing dependencies, I define them in a flake.nix or shell.nix, and boom—every project gets its own isolated environment. No more polluting my global system. (At least, that’s the idea.)

Redoing My Website (Jekyll Out, Hugo In)#

I had been using Jekyll for years, but it started feeling abandoned, and I wanted something faster and easier to maintain. Enter Hugo.

Hugo is a static site generator that’s ridiculously fast and simple to use. Moving from Jekyll to Hugo took a bit of effort, but the result is a much cleaner setup. I also used Nix to set up a dev shell for Hugo, so I never have to worry about installing the right tools manually—just enter the shell, and everything I need is there.

Now, did I spend time crafting my own CSS and making a completely custom design? Absolutely not. I took the Terminal theme, slapped on a Catppuccin color scheme, and called it a day. Because, let’s be real, making a website look good takes time—and I’d rather spend that time breaking my Nix setup instead.

What’s Next?#

Next up, I want to dive into Go. I’m getting back into programming, and Go seems like a great starting point—simple syntax, great performance, and a strong ecosystem for building CLI tools. I don’t have a concrete project in mind yet—probably something small and useful for my workflow—but I’m excited to start learning.

I’m sure I’ll keep refining my Nix setup, tweaking my website, and probably breaking things along the way. But that’s half the fun, right?