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.

obliterate PalantirOS

I'm not sure I agree with the commentary about nix not catching on. MIC fascists are using it in their huge enterprises. Shopify is big on nix as well. Nixpkgs is huge. I have a few carefully pinned flakes that I use for my stuff because its convenient for certain use-cases. I agree with Lix on making flakes an optional plugin and I think some of their proposals to break nixpkgs down into many separate repos is a good idea. One massive build farm can't be maintained by a community, but a constellation of smaller farms for different aspects of the OS might be.

I'm leaning more and more towards guix lately, but nixpkgs and my various blobs are still holding me back. I just think nixpkgs is going to have to deteriorate quite a bit before the community gets motivated to take action. There are supposedly a lot of governance problems, but I've been used nixos for a long time and I mostly don't interact with the community or any governing body because it mostly "just works" or can be patched locally to get the job done.

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.

LMAO they are cooked. Possibly in even worse shape than Mint. What the fuck are they thinking? There is no way on Earth this is sustainable unless it is literally being run by a FAANG company.

The nix derivations abstractions has not truly caught on (due to it not even being better than containers resource wise)

I don't run Gentoo because it is efficient on resources. I run it because I like to fuck around with shit. I think declarative distros will always fit well in this role as well, but end-users clearly will have to bear the cost of compiling their completely bespoke configurations. There is no way for a community project to sustain a build farm cranking out trillions of permutations of every piece of software with every single configuration option.

At best you can end up in the situation of Gentoo or Guix where the most common configurations have binary packages available and for the rest you've got to build it yourself.

Permutations is putting it lightly, flakes have enabled a world where two lockfiles have two different nixpkgs hashes that differ only from a security patch to something like openssl or something else low in the chain which causes a world rebuild. So if you incorporate both of those flakes then you essentially have two duplicate sets of all packages. There is no semantic versioning to flakes and each flake is essentially a snapshot of a rolling release version of 50MB+ tarball of NixOS that gets unpacked to even more).

This can be circumvented by pinning your own package base, but then you're relying on the hope that it builds with your package set and/or they have binaries available. NixOS stable existed to allow packagers to have a stable base but iirc most of time people just pinned to rolling release.

Flakes is such a bad abstraction that killed NixOS for me as now people are distributing their stuff in flakes and the shit shoveling is not going away unless you buy a proprietary version of Nix from Determinate Systems (incredibly frustrating how they aren't perma banned besides being the most obvious chuds/rug-pullers).

Being worse cruft than containers is truly an accomplishment.


Also the buildscript for bootstrapping Java in NixOS is to... download a pre-built Temurin Java to build Java. I'm not even joking.

Guix handles this by implementing a "graft" procedure that manually remaps package store paths to patched software rather than rebuilding the package again. It's "impure" but it was developed in an environment where maintainers do not have fuck you money to spend on AWS/GitHub.

NixOS leadership will never find two stones to figure out how to do this and that's just the saddest thing

is mint in a similar boondoggle?

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.

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

Damn I was going to move from Arch to Nixos and didn't know it was in a bad state

Maybe they'll jump to guix and it'll be able to get past some key QoL thresholds.

Lix seemed like it was run by cool people but its mission was inherently limited right?

Lix seemed like it was run by cool people but its mission was inherently limited right?

It was created from a split between NA and EU nix as the Nix maintainers actively stalled attempts to improve Nix tooling because they were all in bed with the proprietary Nix fork (detsys Nix). It's really not that cool because the alternative was nothing happening in the Nix language.

Fuuuck. I need to stop dragging my feet and get off this ship.

I gotta look into like, what was ansible? For servers. Probably just fedora on my PC.


This user is suspected of being a cat. Please report any suspicious behavior.

There's also guix

Ansible is for deploying to remote systems. You could abuse it to deploy to localhost but you're not going to get system rollbacks like NixOS does. For that fedora silver blue is your best bet.

I do use ansible to deploy to my different Arch servers and it is pretty tight to have all those scripts in one git repo.

Modern Fedora is pretty darn good. I'm using it on this laptop for the past few years, still reliable and fast.

I'm running Fedora Server right now. It's comfy and I use Bash scripts to automate things. The Nix package DSL are just high level macros to Bash (or even literal embedded Bash) so it's not that much different to RPM/DEB packaging.

I personally wouldn't bother with ansible if you don't have more than 2 hosts, a simple Python script over ssh would be enough.

midwest.social

Rules

  1. No porn.
  2. No bigotry, hate speech.
  3. No ads / spamming.
  4. No conspiracies / QAnon / antivaxx sentiment
  5. No zionists
  6. No fascists

Chat Room

Matrix chat room: https://matrix.to/#/#midwestsociallemmy:matrix.org

Communities

Communities from our friends:

Donations

LiberaPay link: https://liberapay.com/seahorse