84 points ibobev 2 hours ago 43 comments

mikl 1 hour ago | parent

Same here. Reproducible configuration is amazing. Even a moderately complex app like Forgejo is easy to set a Nix module up for, with all the needed nginx/database/backup/etc. config nailed down and easily transferable to another machine if need be.

s08148692 1 hour ago | parent

Coming back to Nix (and Linux in general) this year has been an absolute pleasure.

Not because it's suddenly got better, but because the learning curve has collapsed to a flat line. My problem with linux has always been how un-user friendly it is. Constant tinkering around with config files and googling how to fix problems. Now I just install claude code and tell it what I want my OS to be and how I want it to look.

danslo 1 hour ago | parent

Nix as a concept is amazing, Nix as a language sucks. Combining it with a LLM really is a cheatcode.

embedding-shape 29 minutes ago | parent

Guix :) It's a shame its package coverage is nowhere near NixPkgs, because it's so much nicer to read and write. I guess eventually we'll have "Compile-to-Nix" languages, seemingly these sort of languages tend to crop up after a while for languages with lets say "harder UX".

DanielHB 53 minutes ago | parent

Yeah I few the same way about cloud services, impossible to humanly-parse AWS articles are finally _useful_.

perrygeo 48 minutes ago | parent

Nix still has its share of fiddly problems and esoteric solutions. The difference is, once you (or your LLM) figures it out, you can write down in declarative code and it's solved forever. If it doesn't work, try something else or revert. Fearless system configuration.

graemep 48 minutes ago | parent

> Constant tinkering around with config files and googling how to fix problems.

i realised long ago this is usually a self-inflicted problem. Some of us (myself included) cannot resist tinkering with something that works reasonably well. When we use Windows its hard to tinker so we leave well along. Linux lets you tinker so we keep trying to reach perfection, and that breaks stuff.

mft_ 39 minutes ago | parent

Disagree. Whether it’s Raspbian on a Pi, or Fedora or Mint on a modern laptop, issues still occur, and any minor issue immediately launches you into the world of the terminal, Google, StackOverflow, and Ubuntu forums.

Claude has definitely helped to reduce this negative!

yoyohello13 28 minutes ago | parent

The difference is on Windows when I have an issue it’s usually just straight up not fixable.

graemep 22 minutes ago | parent

Claude is useful, but my experience when I have fewer issues than Windows users seem to. I think Raspbian and Fedora are unfair comparisons, and people using Ubuntu, Mint etc. seem to have more problems than Windows users.

ibobev 4 minutes ago | parent

I'm on Ubuntu 24.04 LTS, and things keep breaking after updates. When the video drivers break, YouTube starts dropping frames even at 1080p. When the audio drivers break, my headphones or microphone stop working. These kinds of issues were a nightmare before the LLM era. Now things are far easier.

sigbottle 13 minutes ago | parent

But I love tinkering!

onefiftymike 8 minutes ago | parent

On windows I assume I cannot bend the OS to my will. On Linux I know I should be able to. The biggest issue is I am often so busy asking if I can do it that I don't stop to ask if I should do it. So I end up with weird configurations and random packages installed to tweak stupid stuff.

Some of it is real pain points, and those are annoying that they aren't baked into the distro from the beginning.

Markoff 31 minutes ago | parent

yeah, so it's not like Linux is better, but you have now personal assistant to help you, not sure if that's benefit of Linux

I remember trying to remap keys in Linux Mint and install Chinese language keyboard were both major PITA requiring Claude/ChatGPT, while on Windows I could do it without any help in few minutes (the keyboard in seconds)

exitb 20 minutes ago | parent

It's the same as it ever was. You go for Windows and macOS for cohesive defaults. You go for Linux for agility. Agility comes at a cost, but it's now lower than ever before, as NixOS + the agents are the closest you can come to `import antigravity`[0].

[0] https://xkcd.com/353/

hibikir 5 minutes ago | parent

Remember when we were told only an expert should install Linux, and everyone else should just ask an enthusiast for help? Well, now we all have an expert at hand. Might not be a world expert, up to date in the very latest changes, but more than enough to make a lot of things that seemed impossible doable.

andrewla 11 minutes ago | parent

In some ways this makes Jonathan Blow's talk on the Bronze Age Collapse [1] even more poignant.

There was a point where I was working heavily with Nix and increasingly frustrated with its arcane syntax and way of doing things that made a conceptually extremely simple system into one of almost nightmarish complexity; juggling strange default and environment variables and seemingly random command line tooling. Inscrutable documentation that absolutely refused to define very basic concepts but went into insane detail on irrelevant details.

I had numerous ideas around fixing this and contributing to the project, and made some small contributions.

But now... Claude lets me just work around this by figuring out how to make it work. So now I don't understand and don't have to understand. I still look at the generated flakes, etc., when I'm dealing with it, but I'm rapidly losing the motivation to do that if things are just working.

I think this is bad but for reasons I can't quite put my finger on. Except to say that having complex tools with simple interfaces (Claude) is risky.

[1] https://news.ycombinator.com/item?id=25788317

edukite 1 hour ago | parent

Personally I prefer ansible plus I can easily manage multiple machines but this is a little but different use case. I have 5 micro PC like orange pi, Raspberry pi, radxa... so I prefer to bootstrap them from I laptop with a single command in am event of failure

Also everything is running in kubernetes isolation so my OS is immutable and consume much less disk space than NixOS (I don't have too much of it and future is looking bleak in this department)

dalben 1 hour ago | parent

Same for me. I have an agent generate the Nix and a tightened systemd unit for it, and off it goes. If I later want to remove it, I just throw it out of the config.

eleventen 1 hour ago | parent

If you’re curious about FreshRSS please also evaluate miniflux. A fraction of the resource consumption and a better overall experience IMO.

Miniflux homepage really undersells it.

SmashDan 57 minutes ago | parent

What RSS feeds are people following? Mostly tech stuff?

scronkfinkle 57 minutes ago | parent

A lot of folks have been praising the harmony of Claude code + nixOS. For those of you doing this, I would recommend you to ask your agent to switch your config to nix flakes. It's a much better paradigm for working with the versioning than the default channels interface. Additionally, you should ask your agent to look into home manager, if it hasn't done so already.

haolez 56 minutes ago | parent

I don't want to bore my HackerNews fellows, so I'm sorry in advance, but wasn't there a lot of drama in the Nix community? I've read some time ago that a private company was buying parts of its infrastructure (or something like that) and forcing some changes upstream and people were not happy about it.

I'm interested in NixOS, but I'm at an age where I just want things to stay stable and change only when they really have to. I already have a lot of big mandatory changes from life itself, I don't need more :)

I'm writing this in good faith. I'm genuinely curious and interested in trying it again.

georgyo 23 minutes ago | parent

There is drama, yes. But it is getting a lot better recently.

It's a thriving open source ecosystem. There are forks, there are differing opinions, and in-depth discussions.

But, universally, everyone agrees that nixpkgs, independent from any implementation, is the real value of nix.

That said, things change. OpenSSL 4, glibc 2.44, gcc 16, etc which then requires a bit of tweaking every now and then.

cobertos 47 minutes ago | parent

How do you configure the backups with NixOS? Didn't see that explained in the article at all

drdexebtjl 22 minutes ago | parent

You would add something like:

    services.restic.backups.my_repo.paths = [ config.services.freshrss.dataDir ];
The point is that you write your backup config once, and then you co-locate the service-specific part of the backup config with the configuration for the service, and a build deterministically generates systemd units and scripts that back things up.

cinaboniver 14 minutes ago | parent

Not op, but I have a similar setup. I declare systemd services and timers as Nix config to run a restic backup every night.

https://github.com/NixOS/nixpkgs/blob/nixos-26.05/nixos/modu...

zahrevsky 44 minutes ago | parent

> I dislike maintaining side projects. That includes my own code, but also self-hosted services developed by someone else. I’m okay with a few minutes of maintenance here and there, but having to schedule hours of uninterrupted work to upgrade something, or spending any amount of time at all on emergency maintenance, really kills my desire to work with computers.

I've struggled with the same problem, and Coolify helped me with it. It supports auto-deployment from GitHub via a bot integration, so you don't have to manage Github Actions. It can also deploy from a Docker Compose file, which is good for self-hosting other people's projects.

Of course you still have to have a list of instructions on how to set up your server with Coolify. But at least it's a finite set of instructions, meaning you don't have to update it every time you host a new project.

ChaseRensberger 38 minutes ago | parent

wasnt a big fan of coolify but i love https://komo.do/

ChaseRensberger 39 minutes ago | parent

im sure nixos is fantastic but honestly i just love arch so much i cant imagine ever using anything else.

tosser811 30 minutes ago | parent

I used Arch for about a decade before trying out NixOS unstable channel. I won't be migrating back. Everything is much tighter and saner. Only complaint that I'd have is that the pull request merges and package builds lag behind a bit, but I've grown used to that. It's up-to-date enough.

ChaseRensberger 10 minutes ago | parent

pacman and AUR are just so peak, nix os is cool but if you dont care a ton about reproducible builds, idk

boredatoms 38 minutes ago | parent

Giving your LLM a copy of nixpkgs and a nix executable is really great for getting something workable

lp92 34 minutes ago | parent

RSS feeds are getting rare now days. Thankfully, Google News still has a very robust and useful RSS feed.

I have a container running on GGoogle Cloud Run within the free tier. It runs runs twice weekly as well as once a month (for monthly news summary) to parse through specifically setup Google News RSS feeds and then trigger an email with key news items I'm specifically interested.

Gemini is used for determining which articles to include and exclude from the email summary based on my predefined criteria. It works really well in being able to keep on top of specific industry/tech news I'm interested in.

actinium226 30 minutes ago | parent

> two builds from the same Dockerfile separated by time can result in rather different container images

This is true, and the same is true of shell scripts, but isn't it true of nix as well? If you update nixpkgs and then install something, you have the same chance of getting a new version of it as you do with the `sudo apt-get install` in the Dockerfile, no? I had once looked into using nix to intentionally install older versions of software and it was not as easy as I had hoped.

kqr 12 minutes ago | parent

That is true, but in that case you change the version number of the nixpkgs URL to the previous version, run again, and you're back to the old system in seconds. Then you schedule a better time to deal with the upgrade.

If you need to build a container image as if it was a year ago, you're hosed.

ndriscoll 5 minutes ago | parent

You can install a single package from a specific nixpkgs commit and it will pull in whatever dependencies it needs to make that work, with everything as of the time of that commit. You may have duplicated libraries but they can coexist fine, and you'd have that with docker as well (probably even worse unless you are very intentional about building layers).

poulpy123 27 minutes ago | parent

9 or 20 lines of nixos vs 7 steps on another OS vs some copy/paste with docker. It's not very convincing

keybored 23 minutes ago | parent

> NixOS ad or Claude Code ad

Can never tell with these submissions.

clircle 17 minutes ago | parent

Similar here, but I'm running rootless podman containers in Guix like this:

  (oci-container-configuration
        (environment
         '("CRON_MIN=2,32"
           "LISTEN=0.0.0.0:80"
           "OIDC_ENABLED=0"))
        (image "freshrss/freshrss:edge")
        (log-file (container-log "freshrss"))
        (extra-arguments
         '("--pod=freshrss"))
        (provision "freshrss")
        (respawn? #t)
        (volumes
         '("...")))

nautilus12 14 minutes ago | parent

While i admire the nix community i don't know how people can be spending their time on it to solve the types of problems they are, when AI is shitting out bad python code quicker than anyone can keep up with that's degrading all our systems. By one token you can argue that's a way of fighting back, but maybe also a possible way to bury your head in the sand while the rest of the world burns around you.