In this episode of Nerding Out With Viktor, Viktor Petersson sits down with Jon Seager, VP of Engineering at Canonical, for a deep dive into the NixOS development environment and why it's becoming a game-changer for developers, SREs, and infrastructure teams.
They explore the core philosophy of Nix, how Flakes enable fully reproducible dev setups, and why Jon now runs his entire home infrastructure, from dotfiles to Docker-like services, on NixOS. You’ll also hear how Nix compares to Docker, how it simplifies CI/CD, and what it means for security-conscious deployments and cloud-native workflows.
Topics covered:
*What Nix is: language, package manager, and operating system
*Reproducible builds, dependency isolation, and supply chain clarity
*Using Flakes, dev shells, and nix develop for clean local environments
*Managing dotfiles and editor configs with Home Manager
*Bootstrapping a NixOS system from scratch using Git
*Building Docker images with Nix
*Real-world use cases from Jon’s own declarative home lab
*NixOS vs traditional distros, plus Tailscale and systemd integration
Whether you're building modern infrastructure or just tired of "works on my machine" bugs, this is an essential episode for anyone exploring reproducible, portable dev environments.
---
Time Stamps
00:00 – Introduction and guest background
01:22 – What is Nix and why it matters
08:14 – Core Nix concepts: flakes, derivations, reproducibility
10:23 – Comparing Nix to Docker and building Docker images
12:44 – Managing dev environments with Nix
15:27 – Demo: Installing and running the Screenly CLI with Nix
25:33 – What is NixOS and how it works
28:01 – Managing systems declaratively with NixOS modules
35:44 – Production use, overlays, CI testing, and VM builds
41:29 – Developer setup and remote workflow with Tailscale and VS Code
47:06 – Secure zero-trust architecture using Tailscale and Traefik
55:02 – Reflections, resources, and next steps