logoalt Hacker News

linsomniactoday at 4:18 PM5 repliesview on HN

I switched my workstation over to NixOS ~6 weeks ago and it's been really good, I'm a total convert. The thing that really got me over the hump was entirely configuring it using Claude Code.

One unexpected benefit is that both my workstation and my backup laptop have the same setup, so I can run updates on the scratch box before doing my workstation. I decided to run the "latest" rather than 25.11 release, so it's nice to test before I apply (I hit a GDM issue a few weeks ago that left me at a black screen; but not a huge deal, just select the "previous" option in the grub screen).

I've got everything to parity with what I had on my previous Ubuntu workstation. I had anticipated issues with some software that isn't packaged (but NixOS packages a LOT), but that wasn't an issue. Claude was able to do all those things no problem.

The biggest tricky bit was with my vim setup; I've been using AstroVIM and trying to get away from managing my own vim setup. You can't, AFAICT, just apply astrovim in NixOS. So I described the vim setup I wanted to Claude Code, and I now have a ~700 line config that implements everything I wanted: LSP, TreeSitter, a small variety of other things. Unlike Astro/Lunar, where tweaks you want to make are buried in some set of files in this whole giant distro, it is all encoded in this one "neovim.nix" file.

I also set up home-manager and SOPS and so far that has been working just great! I now have home directory settings that are replicated across 2 machines.

I'm still really only using it on one machine, so we'll see how it gets more complicated if I start running it on some servers.


Replies

rhcotoday at 7:06 PM

You could take this one step further using Syncthing to sync important data between the workstation and laptop.

That's how my devices are configured, and it's amazing - if I need to travel for work, I just pick up my laptop and go. NixOS makes sure the system itself is identical (apps, most of the code configs, etc), then any app-spcific config is handled by Syncthing. It was really magical the first few times I used my laptop on the road!

Also, if you aren't already across it, you should look into remote builds/deployments. Basically, the regular nixos-rebuild command supports deploying over SSH. It's nice because you can do the heavy work (nix evaluation, building non-cached packages, etc) on your grunty workstation, then have them pushed across to the laptop via SSH. Then, when you want to apply that build to your PC, it'll be super fast (since everything is already evaluated & built!).

show 1 reply
mplanchardtoday at 4:30 PM

I'm on year 6 and still feel the same way, using NixOS for all my machines, and also for my homelab servers (building on the main machine and then deploying over SSH). Everything else feels primitive by comparison. Rolling back is incredible.

I have one github repo with a top-level flake containing system definitions for all of my machines. Much of my config is modularized, so it's easy to take custom stuff from one machine and use it on another.

It's nice to hear that AI tooling is making it more accessible for people.

willx86today at 4:32 PM

I eventually gave up using mason and lsp servers and used nixvim

https://github.com/will-x86/nixos-dotfiles

( ./home/base/nixvim)

pmarrecktoday at 4:46 PM

> The thing that really got me over the hump was entirely configuring it using Claude Code.

I MOSTLY understood it before Claude Code, but WITH Claude Code it's almost a no-brainer for most people. All the upside with none of the downside.

shevy-javatoday at 4:30 PM

> entirely configuring it using Claude Code

This scares me. I would not want AI to run my computer systems.

show 4 replies