L8 Principal's Agentic Coding Config Fom Scratch
In a Nutshell
The video demonstrates building a fully reproducible agentic coding environment on macOS from scratch using Nyx (Nix) for declarative system configuration, Home Manager for user-level setup, and a Git-managed dotfiles repo. Core components include WezTerm, Zsh with Starship, a modular Neovim setup with Lazy.nvim plugins (Snacks, Oil, Neogit, gitsigns, which-key), and Herder as the terminal multiplexer optimized for parallel AI agent sessions. A global memory file (agents.md) enforces consistent agent behavior across tools, with all configs linked and restorable via a single rebuild script.
These notes were generated by AI and may contain inaccuracies.
The speaker begins setting up a complete agentic engineering development environment from scratch on a freshly installed Mac Mini. Only basic items like Chrome, Git, and an SSH key for GitHub were pre-installed. The goal is full reproducibility so configurations can be applied identically to another machine or recovered instantly if an AI agent damages the system.
Nyx is introduced as the solution for declarative and reproducible configuration. Although primarily designed for Nyx OS (Linux-based), a portable installer called Determinate Nyx works on Mac. The speaker runs the install command, confirms with yes, then executes the follow-up command to refresh the environment. Nyx is now properly set up.
A new GitHub repository named "files" is created and initialized with Git. This will be published publicly after the video. A symbolic link is created at a fixed location in the home directory pointing to the current directory so all later scripts can reference a stable path regardless of where the actual git clone exists.
Nyx Darwin is used to configure Mac OS settings declaratively. The speaker creates a flake.nix file using the boilerplate content, changing the username references from "John" to "Mac" and pinning both the Nyx Darwin and Nixpkgs inputs from unstable to specific stable version numbers to avoid surprises. A configuration.nix file is created with minimal settings: nix.enable set to false (since Determinate manages the installation), allowUnfree enabled, hostPlatform set to aarch64-darwin for Apple Silicon, the primary user username specified, and stateVersion set to "6" and left untouched thereafter.
Sign in to read the full notes
Get access to AI-generated notes, topic timestamps, and more.