Skip to content

Nix Learning Journal

Learning NixOS on a laptop, coming from a strong Linux background.

This is a personal study journal — not a polished tutorial. It captures what we've read, understood, and tried, with references to real-world configs for context.


Study Material

We're learning by reading two real configs in the vendor/ directory:

Config Who What it shows
dotfiles-main Ian Gray — Marcus's friend Simple single-machine NixOS + Home Manager on a Framework 13. Good starting point.
nix-config-main Wimpy — Linux Matters podcast Advanced multi-machine NixOS + macOS. The broadcast-and-gate pattern at scale.

Where to Start

If you're new to Nix, go in order:

  1. What is Nix — core concepts, the Nix store, how it differs from traditional Linux
  2. Flakes — the entry point of any modern NixOS config
  3. NixOS vs Home Manager — what lives at the system level vs. user level

Then read the config tours to see these concepts in practice, and use the how-to guides when you need to do something specific.


Quick Reference

# Apply NixOS system config
sudo nixos-rebuild switch --flake .#hostname --show-trace

# Apply Home Manager config
home-manager switch --flake .#username --show-trace

# Update all flake inputs (nixpkgs, home-manager, etc.)
nix flake update

# Roll back if something breaks
sudo nixos-rebuild switch --rollback

# Try a package without installing it
nix shell nixpkgs#packagename

# Search for packages
nix search nixpkgs name

About This Site

Built with MkDocs and the Material theme.

# Serve locally (live reload)
nix develop
mkdocs serve

# Deploy to GitHub Pages
mkdocs gh-deploy