Live data from Hacker News

NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

github.com

111–120 of 186 posts

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#111
post #86
post #13

Earlier quoted context omitted.

I don’t know the value of half-assing it, but committing your full ass is amazing. Don’t abandon a working system, but the next time you wait a whole three weeks to pacman -syu and your GPG keys are out of date and everything goes to hell… give it a shot. Honestly, it’s Home Manager that really adds the maximum value, and getting all the way there takes a full weekend, but what were you gonna do anyway?

> Honestly, it’s Home Manager that really adds the maximum value I feel like Nix does have such killer features, but they are different for everyone. For me it was: - system management (nixos + nix-darwin. I wish there was something like nix-darwin for non-nixos linux distros, binding daemon systemd units and desktop files into the "hosting" distro) - on-the-spot running without globally installing for one shot tasks…

I don't really see the appeal of avoiding to install programs. What's the benefit, exactly?

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#112
post #4

> With the goal of ending this current limbo and soothe longstanding tensions in the Nix community Can someone with more background give a quick explanation about why is this a source of tension in the nix community in the first place? Is this a situation of too many cooks in the kitchen or something else?

I think most of the issues are more social than technical. A lot of people feel that flakes were pushed through to serve the needs of their corporate sponsor (target) without adequate time spent responding to community feedback. There is (was?) also some opposition to the way that they were designed to break up the nixpkgs monorepo.

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#113
post #86
post #13

Earlier quoted context omitted.

I don’t know the value of half-assing it, but committing your full ass is amazing. Don’t abandon a working system, but the next time you wait a whole three weeks to pacman -syu and your GPG keys are out of date and everything goes to hell… give it a shot. Honestly, it’s Home Manager that really adds the maximum value, and getting all the way there takes a full weekend, but what were you gonna do anyway?

> Honestly, it’s Home Manager that really adds the maximum value I feel like Nix does have such killer features, but they are different for everyone. For me it was: - system management (nixos + nix-darwin. I wish there was something like nix-darwin for non-nixos linux distros, binding daemon systemd units and desktop files into the "hosting" distro) - on-the-spot running without globally installing for one shot tasks…

Yeah, nix-darwin is incredible. Use cases you mentioned are great; for me, I love being able to use my NixOS machine and MacBook to seamlessly carry around the same dev environment.

https://github.com/dustinlyons/nixos-config

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#114
post #71

I still fail to understand the naming conventions behind Nix. I don't know what a "flake" or "derivation" is without double checking, the naming sucks.

A derivation is simply an attrset with `type = "derivation"` as a key-value pair in it

Is this a parody of the "a monad is a burrito" meme?

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#115
post #102
post #99

Earlier quoted context omitted.

> without double checking It's fine, Nix things are conceptually different from anything before. You could say flakes are like Rakefile, but that would be a lie. You could say they're like Gemfile and Gemfile.lock, but that would be a lie too. You could say that derivations are like packages, but that would be a lie, you could say they're like container images but that would be a lie too. Now, you can try to understa…

> If you look at an actual (snow)flake there's this recursive/fractal design coming from a central point, which kind of visually represent the conceptual structure underpinning a nix flake Never thought about it that way, but it kind of makes sense. I thought the name was inspired by the Nix logo.

TBH that's my personal interpretation of the name, can't say if that's what was meant originally.

The nix logo is indeed a snowflake (made of lambdas!) I'd say it perfectly captures the core nature of nix.

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#116
Just today I was setting up a server for a side project and mulling over do I use ol' reliable Ubuntu+Ansible vs finally trying NixOS. I was very sad to see that all of the popular VPS services (Digital Ocean and the like) "no longer" officially support NixOS.

Linode was nice enough to have an official "how to set up NixOS on Linode" guide, but it requires fiddling with partitions by hand. At that point, I feel like all of the repeatability gains are gone. If I want to spin up a fresh server, I have to read a guide and set stuff up by hand? Could spend that same time setting up an Ubuntu by hand each time followed by git pull or scp to deploy. Ended up using Ansible in the end, as it really does let me just get a new VPS and deploy to it very fast when the time comes.

I wonder why the big providers once supported NixOS and then decided to stop!

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#117
post #86

Earlier quoted context omitted.

> Honestly, it’s Home Manager that really adds the maximum value I feel like Nix does have such killer features, but they are different for everyone. For me it was: - system management (nixos + nix-darwin. I wish there was something like nix-darwin for non-nixos linux distros, binding daemon systemd units and desktop files into the "hosting" distro) - on-the-spot running without globally installing for one shot tasks…

I don't really see the appeal of avoiding to install programs. What's the benefit, exactly?

Not needing root is a game changer.

Another benefit is that "traditional" package managers may litter your system with configuration files and post-install scripts (for the software you are installing and all of its dependencies), some of which can persist even after uninstalling the packages.

Nix prevents that by design.

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#118

Just today I was setting up a server for a side project and mulling over do I use ol' reliable Ubuntu+Ansible vs finally trying NixOS. I was very sad to see that all of the popular VPS services (Digital Ocean and the like) "no longer" officially support NixOS. Linode was nice enough to have an official "how to set up NixOS on Linode" guide, but it requires fiddling with partitions by hand. At that point, I feel like…

For DigitalOcean (and several other providers) you can build your own image with provided configurations, e.g.: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/v...

(see `virtualisation` folder for other providers)

Then you can do something like:

    nix build .#nixosConfigurations.doImage.system.build.digitalOceanImage
And in the `result` directory you will have droplet image which can be uploaded to digital ocean as droplet template.

Its probably best to also create separate configuration only for the image. As a bonus, its already configured, so no need to run `nixos-rebuild switch` after droplet creation. Partitioning configuration is also handled by the builded, however, filesystem choice (and partitioning schema) is limited

(I'm not saying that this is easier than out of the box support for NixOS: IMO if you are even aware how to create custom NixOS image then you are probably somewhat experienced NixOS user)

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#119
post #86

Earlier quoted context omitted.

> Honestly, it’s Home Manager that really adds the maximum value I feel like Nix does have such killer features, but they are different for everyone. For me it was: - system management (nixos + nix-darwin. I wish there was something like nix-darwin for non-nixos linux distros, binding daemon systemd units and desktop files into the "hosting" distro) - on-the-spot running without globally installing for one shot tasks…

I don't really see the appeal of avoiding to install programs. What's the benefit, exactly?

One less thing to manage and think about, including cleaning up after myself. It may pull dependencies that I don't care about or want exposed e.g that would be picked up by some other thing as with traditional package managers (e.g a configure script would pick installed stuff). apt-get autoremove --purge or pacman -Rsc become a distant memory.

It's fire and forget and I can just focus on what I'm set to do.

Once I'm done with the one shot task, it disappears and could be garbage collected for all I care.

Some tools I did promote to being part of my user env but crossing that bar is a very deliberate thing, some are promoted to systemwide (root) and the bar for that is even higher.

It removes a ton of mental deadweight.

Re: NixOS RFC 136 approved: A plan to stabilize the new CLI and Flakes incrementally

#120
post #29

Can someone that understands this "limbo" and "long standing tensions" give a TL;DR for someone that knows what flakes and the new cli are but hasn't been following the community discussions around it?

Flakes are amazing but have been designated as an unstable or beta feature for I think literally years now, which creates tension between the desire to get them polished and perfect and the desire to have them be the one true official way to do things already.

The prior system was also totally unopinionated, while Flakes prescribe a default path and some people are upset by this, too
Post reply on HN