I've redesigned my workstation OS using NixOS and Claude Code and it's been a huge success.
I like the ideals of NixOS: reproducible setup from a git repo, ability to boot into a past config if you mess things up. But it's a big job learning and implementing that configuration manually. I've been playing with NixOS for ~2 years and like it but never really got that close to a full workstation setup.
When Ubuntu 26.04 came out I really needed to upgrade my 22.04 workstation and decided I'd really give NixOS a try before going with 26.04.
This time I decided to entirely configure it via Claude Code. I've been entirely running on it for a week and there's nothing I'm missing. I even took a stepping-stone approach where I first installed it on my old laptop, left my current workstation in place (in case the experiment failed), and then did a reinstall of my current workstation. NixOS made setting up the second machine trivial. Now, if my normal workstation were to have a hardware failure, I can just grab my /etc/nixos and rebuild and I'm back in business. Which is important since my workstation is now out of warranty and 6 years old.
One win is that I had been using LunarVim and AstroVim, and liked the "batteries included" approach, but they were hard to upgrade and while I was trying to do as little customization as possible, I still needed to do some and that was tricky in their configs. I used Claude Code to build a neovim setup with just my desired features, and it's now a single ~700 line neovim.nix file with everything in it. It's fully featured including LSPs+TreeSitter, etc.
The Ubuntu DDoS drove me to build a new apt-cacher with two goals: be able to supply typical packages when the upstream is unavailable and be more reliable than the existing apt-cacher/apt-cacher-ng. It's looking like I'll be doing a 1.0 release next week (it's been in beta for ~3 weeks).
We do ground-up respins of half of our dev+stg cluster every morning, to test our automation, but this didn't work during the DDoS. I disabled those respins for the week of the DDoS, but if we had a fire at the office and needed to bring back up our dev+stg environment that would have been a problem: our normal ansible automation wouldn't have worked to set up a new dev+stg cluster.
apt-cacher-ultra has an "adoption" process where when it detects new repo meta-data it holds off on serving it up until it has downloaded any changed "hot" packages (packages we've fetched in the last N days), then it switches over to that new snapshot of the repo. I've been able to shut down our upstream Internet and then do a new OS install and apt update+upgrade it successfully.
It's about a guy who has been fighting for ~50 years to be able to be a citizen of no country. I left that episode thinking "This is the hero we need right now."
Wow, thank you! I use and "like" youtube music, but it seems like every time I'd start a google meet call (IIRC) or otherwise interact with audio on my MacBook it would bring up Apple Music. If I quit it, it would pop back up the next time I had audio playing, but if I just left it running it would be fine. So I'd always have this Apple Music in my list of running apps. Kind of annoying.
I ran the above and then quit Apple Music and tried a few different things and so far it hasn't come back up.
The thing I really love about working with computers is when I achieve something. That's the thing that makes me figuratively, and sometimes literally, throw my fists into the air and go "Yeaaah!"
With the AI tooling, I'm getting those more like a couple times a week.
Plus, I'm using AI to attack the things in my day that are "a drag", and getting them done too.
The highs are more frequent and the lows are not so low.
Oh, sure, I can make things with it. But I have an extraordinarily hard time saying that I made something.
It feels like it cheapens the whole thing. Maybe I'm just old, because I remember people saying the same thing about code completion in Visual Studio back in the late 90s.
This is so much more than code completion, though.
Exactly how I feel. I didn’t make a damn thing. I essentially asked a chatbot to.
Did I ask for better things with some important concepts pre-rolled? Yeah, of course. But that’s so, so much less interesting than having actually made a thing.
I try to remind myself that the output of my projects have nothing to do with who I am, but the honest truth is they always mattered to me.
Now that’s dead, and it’s never coming back. It ain’t exactly existential dread, but it is something I’ve lost.
I did a deep binge on two or three projects I would never do, and like five small ones that would have consumed months.
It felt like that, kinda, for a bit. Now whenever it does something for me I get nothing. I didn’t do it… the chatbot did. What’s for me to celebrate? How can there be any real pride or satisfaction for a thing that was just handed to me because I asked for it?
If anything it diminishes my satisfaction looking back on previous projects. They’re “a few hours with a chatbot”, now.
The things I had to learn and the informed decisions I had to make? All pointless trivia, now. A child could do it.
The magic and possibilities parts just all wore off after a heavy run, and I don’t know if that’s ever coming back.
I hear what you and the other sibling comment are saying. I, thankfully, somehow, am able to focus more on the results than the process. Having fun playing a game (that AFAIK no longer exists) with my family is still having fun. Having people using a new apt cacher that fixes problems with existing ones, and also can survive the recent DDoS, is still a really great thing.
But, I'm not going to yuck your yum. I appreciate the people who do jointery using hand tools, even if I'm out here with a track saw and a router.
> The things I had to learn and the informed decisions I had to make? All pointless trivia, now. A child could do it.
Probably this is a hyperbole. Did you do the experiment? I expect that the child won't be able to do it. Ask an adult. Same thing. Ask an expert of the domain. Maybe but not as fast or as good as you.
>a large portion of your skillset is about to become completely worthless
I'm not convinced of that.
I watched a video of an architect using AI to create architectural drawings. It became very clear to me that he has a lot of skills and terminology that helped him produce something very specific, in a few minutes. I've been working on some home improvement stuff including a studio/shed and I've struggled to produce even something simple (currently trying to get a conversation packet on the roof trusses to take the the permit department to get started). Even with my high school architecture class.
After watching that I wonder how much of what I'm doing with AI that looks easy is because I hae a deep technical knowledge, plus 3 years of heavy work with AI.
This is the case now - I can explain to the AI that I want to re-factor a component to support different implementations using a strategy pattern, and I can get a similar outcome to what I would have written, just implemented a bit faster. My expertise brings value.
But that's not what this specific article is describing. The world this article is describing is one where you describe the business requirements, and you don't think about how it's implemented. You don't write the code, you don't review the code, you don't test the code. You give the AI business requirements and you give it access to sources of context (slack, meeting notes, etc). Every place where the human would act as a gate reduces throughput, so it should be eliminated through building harnesses and providing context.
What they're doing here is the equivalent of taking a factory where you have 2 process engineers and 100 operators, and replacing all the operators with robots. They want to automate the whole process of making the software and just leave the part that figures out how to make the automation work effectively.
In this world, the average software company doesn't need people who know how to write good software, because writing, reviewing, maintaining, and testing the software will be entirely automated. There will be a small number of people at companies like OpenAI that need to know how to write good software in order to supervise training the models, and there will be a small number of people at the software companies who have expertise in setting up the automation.
Just because I'm not typing "strcat(); strcpy(); sprintf()" doesn't mean I'm not thinking about problems. I'm still doing critical thinking all over my stack, and I don't see that going away. I'm just doing different thinking.
There are people who think, and AI just isn't going to change that. There are people who don't think, and they've existed long before AI. Back in the 90s when I worked at the phone company, man, I worked with some people who didn't do a lick of work (along with some really sharp people).
>GitHub, Spotify, Google maps (just to name a few), have gotten noticeably shittier in recent times.
What if AI lets you create new versions of those tools, but without the enshitification?
I say that being in the "soaking" stage of using AI to rebuild a shitty software project in 70KLOC over about 2 weeks of spare time, so this may not be as theoretical as you might think.
> What if AI lets you create new versions of those tools, but without the enshitification?
I'm not sure I fully understand what you're saying here. Isn't the value of these tools almost entirely independent of their actual software? That is, we have many good open source, self-hostable forges (Forgejo, sr.ht, etc.), lots of great music player software (Jellyfin, Symphonium, etc.), and decent maps software (OsmAnd and Organic Maps). People use GitHub, Spotify, and Google Maps -- perhaps even _put up_ with their often bad/glitchy software -- because of network effects (all three) and content/licensing partnerships (Spotify/GMaps). That proprietary data isn't something AI can help you with, right?
It really depends on the use-case. For example, my most starred github repo is a tool to convert Spotify playlists to YouTube Music (that was done pre-AI). Github depends on what issues you have with it, what your use case is, and whether you can leverage some of the network effects via API from the github source. Maps, same story.
I think it's a negative feedback loop: If you are convinced that AI is worthless you are not going to be willing to spend $100-$200 to try the best tools, and if you're not using the best tools or you have to work under severe token limitations you are going to have a bad experience which is going to further convince you that AI is worthless.
Last week I gave Claude Code in Ultracode mode the prompt: "I want a browser-based retro game inspired by Spy Hunter" and gave it the URL to the Spy Hunter (Arcade Game) Wikipedia page.
What came out has a lot of problems and needs refinement, but you can definitely see a lot of elements of Spy Hunter in there. I haven't worked on any refinements yet, because I've been low on tokens this week, but for the first thing that popped out of Claude this is pretty impressive (IMHO).
My entire computer setup has been done via English via Nix, and it's spectacular.
I had been dabbling with NixOS for a year or more and liked it but without deep knowledge it's fairly hard to approach. I've gotten partially working setups in the past, but a couple weeks ago I decided to go all or nothing.
Now I have a workstation setup that I can reproduce by just grabbing my home directory and /etc/nixos and doing a rebuild.
And it's a somewhat complicated setup. It entirely configures vim (2500 lines of nix config for that, but it's in one file rather than sprayed all over like astrovim), builds gitbutler CLI, has all my secrets encrypted with SOPS, manages my git configs and my ~/bin directory, has sway set up, finally has audio and ability to screenshot (something that had been broken on my 22.04 Ubuntu and I just didn't want to bother with).
NixOS + Claude Code to manage it is really, really good.
I like the ideals of NixOS: reproducible setup from a git repo, ability to boot into a past config if you mess things up. But it's a big job learning and implementing that configuration manually. I've been playing with NixOS for ~2 years and like it but never really got that close to a full workstation setup.
When Ubuntu 26.04 came out I really needed to upgrade my 22.04 workstation and decided I'd really give NixOS a try before going with 26.04.
This time I decided to entirely configure it via Claude Code. I've been entirely running on it for a week and there's nothing I'm missing. I even took a stepping-stone approach where I first installed it on my old laptop, left my current workstation in place (in case the experiment failed), and then did a reinstall of my current workstation. NixOS made setting up the second machine trivial. Now, if my normal workstation were to have a hardware failure, I can just grab my /etc/nixos and rebuild and I'm back in business. Which is important since my workstation is now out of warranty and 6 years old.
One win is that I had been using LunarVim and AstroVim, and liked the "batteries included" approach, but they were hard to upgrade and while I was trying to do as little customization as possible, I still needed to do some and that was tricky in their configs. I used Claude Code to build a neovim setup with just my desired features, and it's now a single ~700 line neovim.nix file with everything in it. It's fully featured including LSPs+TreeSitter, etc.
reply