logoalt Hacker News

not-kinsale-joe • today at 3:31 PM • 3 replies • view on HN

What are the struggles? I have been considering giving it a go.


Replies

torginus • today at 3:48 PM

This video sums it up pretty nicely imo:

https://www.youtube.com/watch?v=_mqVnyOTeN8

TLDW:

- Nix needs weird tricks to make its packaging scheme work

- The main repo is uncurated and hosted on Github

- The functional nature of packages means a low level update can either trigger a huge wave of updates or you end up with out of date deps. Usually both happen at the same time

jmoggr • today at 5:25 PM

Give it a go, I don't know anyone who has converted back (n=3). Agents/LLMs make things much easier these days.

If you have a single machine and only use stuff from the official nixpkgs, there are no more struggles than any other linux distro, this is a very happy path (imo).

Going outside of that you will, practically, need to convert to using flakes. The conversion is easy, but its another learning curve and there are conflicting docs. Agents make short work of this.

Packaging things yourself can get quite hairy. For simple projects in a single well supported language its easy and just a couple lines of code. For a rust+wasm+solidjs+vite+julia+more monorepo, it was a couple of weeks on a steep learning curve. Agents are pretty okay at packaging in general, I've been able to oneshot a number of difficult-for-me packaging problems, other times it can be an unmitigated mess.

For remote deploys, secrets management, and other devops-like tasks, things get harder, but most people don't need/want this and if you make it this far the remaining learning curve is totally worth it.

jordanbeiber • today at 3:38 PM

What it used to be:

1. The rigidness of it all, which after a while is the main point ofc. Takes getting used to, but awesomeness for servers

2. The highly specialized filesystem layout requires some tinkering when trying to “just get things to work” that is not already packaged/wrapped for nixos

3. The language is… special. An acquired taste perhaps.

4. Flakes, home-manager, experimental flags galore.

LLM’s makes short work of it all, and having a devenv.sh setup of all your projects is :chefs-kiss:

My machines are essentially solid-state devices, and it all just becomes extremely predictable and stable.

➕ show 1 reply