- cross-posted to:
- linux@lemmy.world
- linux@sh.itjust.works
- hackernews@lemmy.bestiver.se
- cross-posted to:
- linux@lemmy.world
- linux@sh.itjust.works
- hackernews@lemmy.bestiver.se
TL;DR: Two of the most nicest, most technically proficient people you know just got burnt out from contributing to their operating system and this is just another example of NixOS being poorly maintained.
A year since I divested from NixOS and nothing really has changed. The “flakes” design is still a garbage abstraction invented by a neo-nazi to sell to Peter Thiel and Co. The Nix language has not evolved in any meaningful way (nixpkgs is still the load bearing peg).
Nixpkgs has reached over 1 million commits and is pushing what Git can scale to and is now entirely dependent on a Microsoft GitHub enterprise subscription and a Amazon AWS S3 credits for petabytes of CI/CD.
The community still contains active MIC fascists in leadership roles alongside :vote
Europeans. empoc perspectives are treated as community fracturing.
The nix derivations abstractions has not truly caught on (due to it not even being better than containers resource wise) and flakes only makes this worse with unversioned commit hashes serving as “determinism” and “reproducibility” which have become buzzwords at this point.
I only expect this to get worse and worse as Determinate Systems (MIC ghoul company) takes over and nixpkgs collapses as an independent entity.
BTW they haven’t decided on a AI/LLM policy because the steering committee and the nixpkgs core team can’t agree or communicate on anything, which basically means NixOS is going to be a AI hype train project if you enjoy that.


I never really understood what NixOS was trying to solve. I already version control /opt/ with all my container definitions and config and can install debian anywhere, clone my repo, restore the stateful database backups and bring up a clone of my server anywhere in minutes.
The only thing that ever impressed me with NixOS was its atomic/immutable rollback feature. Being able to restore to previous “builds” of your OS is something I’ve always wanted in Arch but the closest I’ve seen is darch which boots your OS from a container image. But that project is extremely dead despite its readme saying its finished. Documentation was on godarch.com which is down.
Otherwise everything that NixOS does is done better by containerization or Ansible. But my fundemantal problem with Nix is the language itself. I’m strongly against “configuration” languages making any sort of abstractions.
Wouldn’t something like btrfs and snapper get you what you want in the end? I’ve always felt like fs level snapshots and rollbacks where just as powerful and possibly more resilient.
Maybe. I haven’t fully looked into btrfs snapshots because I’m not ready to move off my complicated LUKS on LVM setup. I also don’t think you can simply select a previous version from boot menu like with NixOS or rpm-ostree. I’d frankly be happy with SteamOS’s A/B partition scheme. I haven’t seen a guide on how that’s implemented though.
CachyOS, which is based on Arch, offers Limine as a default bootloader. You can boot snapshots directly from that. I came from using Bazzite for the last 2 years and that fills one of the major advantage gap my atomic setup had over my current one.
In openSUSE Tumbleweed, you select btrfs snapshots from the boot menu. Does btrfs not work with luks/lvm?
Btrfs will work on top of a luks or lvm device but it seems silly to use it with lvm since it replicates many of lvm’s features. Normally you would do lvm on luks and replace lvm with btrfs. But since I’m doing luks on lvm I can’t replace lvm with btrfs. btrfs on luks on lvm is possible but it really eliminates most of btrfs features.
What is opensuse using to generate those grub entries? Does that come with snapper or is it something else?
I had to search around a bit to find out. The grub2 snapper plugin in the Tumbleweed repo includes a script in grub.d that adds btrfs snapshots to the boot menu.
https://github.com/Antynea/grub-btrfs One of many ways to get that job done.
deleted by creator
They mess up even basic things like source packages as most nix users download their sources from the cache service or have to rely on the upstream URL embedded within the build script.
It is times like this I realize I am a huge nerd. I run a apt-cacher-ng server that has a delay on pulling new versions, strictly enforces hash checks and scans with trivy lol
Granted all my production is practice for my job but yeah… I can’t imagine just pulling random software on build 😬
yay -Syuu
I… don’t know what this means lol
yay is the most common helper for the Arch User Repository, which consists entirely of unvetted build scripts.
The joke I was making there was that a hypothetical user updates their AUR packages and then gets their cryptocoins stolen
Ah lol, I started with debian a long time ago and never distro hopped. I’m not cool enough for arch
With nix, I can install the full clone in one shot.
I think the benefits of Nix appear when you have enough machines where ansible would make sense. You can run migrations on activation, basically manage the entire machine lifecycle using a single config interface that statically manages all the subsystems.
Maybe its a matter of taste, but I’m personally able to safely manage a lot more complexity using nix than I ever could using containers et al. I find the iteration process is a lot faster because I can write in a bunch of assertions about the schema that is projected down into the real configs. I can run these test scenarios over and over on my local machine so when I finally push it generally works on the first try.