ThePrimeagen's setup: tradcoding with an agent on the side
Published
ThePrimeagen spent about a decade as an engineer at Netflix before streaming programming full time, and he is best known for one thing: Neovim, driven fast. He wrote Harpoon, a plugin for jumping between a handful of files, and tmux-sessionizer, a script that turns a fuzzy-found directory into a tmux session. Both are still in his daily setup. His configuration is public, in init.lua and a setup repository called dev, and the commit history in those repos dates most of the changes below.
2021 to 2025: Ubuntu and i3
His old dotfiles from 2021 configure Ubuntu with the i3 tiling window manager, zsh, tmux and Neovim, plus an XKB layout called Real Programmers Dvorak. In March 2024 he started over with dev, whose first commit reads “just starting to setup a 0 to 60 ubuntu setup.” The README sets the goal, a “20 minute script using bash”, and adds: “No more ansible, simple bashing.”
Late 2024: Ghostty
A Ghostty configuration landed in the dev repo at the end of October 2024, two months before the terminal’s public release. By May 2025 it was a settled choice, along with some irritation at being asked about it: “Me> ‘Hey i use ghostty’ Them> ‘Why don’t you use kitty’ … wtf, i didn’t even say anything about kitty, why is it always WHY NOT instead of WHY,” he wrote.
2024 to 2025: trying the AI editors
He was an early AI user: “I was beta access to GitHub copilot. It was super cool,” he recalled in 2026. The agent-heavy editors were harder to love. In September 2024 he wrote: “I feel like I must try driving my dev experience with only Zed/cursor/avante.nvim for one week straight because I just don’t understand this constant love and hype. I feel like I cannot allow myself to write code or else I end up just doing it myself.”
Half a year later he had his verdict: “I hate vibe coding. I love cursor tab coding.” What he liked about Cursor was the completion, not the chat.
May 2025: Arch and Hyprland
On 1 May 2025 he went live with “Arch Linux - DAY 1 - HYPRLAND RICING”. The i3 configuration in his dev repo stopped changing the day before, and a Hyprland configuration took its place on Arch Linux, installed through the AUR helper paru. By August the line was obligatory: “I use arch, btw.”
He did not stay on hand-rolled Arch. In November 2025 a post was signed “sent from qwerty + omarchy”, which meant DHH’s preconfigured Arch and Hyprland setup, typed on a standard layout rather than his Dvorak. In April 2026 he explained the choice: “everyone on my team is using it, makes certain aspects of life easier when everyone is on the almost same distro,” and Intel and Dell were working with the Omarchy team, so “i am using the super latest hardware with it perfectly integrated.” On a new Dell XPS the essentials were in place within a flight: “Vim is there and so is tmux and zsh.”
December 2025: 99
In November 2025 he announced: “i am making my own AI neovim integration. i think i have the perfect idea.” He released it on 31 December as 99. In the announcement he described the gap it was meant to fill: “I find that I fight a ton with incorrect answers, not in syntax, but in direction… At the same time, I don’t really care if I type every letter. I love LSPs and autocompletes because I can output faster when I am in the zone. So if I can extend that experience, I’ll be so excited.”
The README calls the repo “my exploration grounds for using AI mixed with tradcoding” and states: “I believe that hand coding is still very important.” 99 does not write code itself. It hands requests from Neovim to an agent CLI, such as OpenCode, Claude Code or Cursor’s agent. In his own configuration it runs Cursor’s agent, currently with a Grok model.
What he uses it for most is review, not generation. In March 2026 he described the loop: “I can simply make the changes, think through the APIs, give my work a description, and finally then hit ww. Within 3 minutes i have a list of things that are correct / incorrect about my change set.” He does still generate code sometimes: “Working with X’s crappy ass APIs, its a life saver.”
March 2026: back to autocomplete
Two days later came the clearest statement of where he stands: “i am using supermaven again and i have something to say about this whole AI thing. I think as a group (swe) we rushed so fast into Agents when inline autocomplete + actual skills is crazy,” he wrote. “With agents you reach a point where you must fully rely on their output and your grip on the codebase slips.” Supermaven, which Cursor bought in 2024, is still enabled in his Neovim configuration.
September 2026: agents as testers
The agents found a different job in his work. In September 2026 DHH announced that ThePrimeagen had “joined Omarchy Core to lead Agentic QA”, with a harness that boots Omarchy in virtual machines and has agents click through it. In his October updates he named the two hard parts: “How to go fast in the day and age of agents (which are very very slow)” and “What is correct? What do we even test?” An agent run that opens the lock screen, types the password and confirms the desktop is back went from about 15 minutes to about 2. Since 19 October it has been running against nightly builds every day.
What the stack says
The editor never changed. Neovim, tmux, zsh and his own Harpoon and tmux-sessionizer go back years and appear in every one of his setups. The rest moved: Ubuntu and i3 gave way to Arch, Hyprland and Omarchy, and his AI tooling went from Copilot to Cursor Tab, Supermaven and 99. Through all of it, the AI tools he kept are the ones that left him writing the code.