Benefit Layers on the Nix homepage

Maybe this should go into #links, but I saw this post on HN on the short article “Benefit Layers”, which talks about how to best present your value preposition when trying to market a devtool to developers.

The gist of the article is that you should present the value you offer in one of three “Benefit Layers”:


Some features are obviously desirable, in which case you can state them without benefits. Two common cases are:

  1. Competing on specs, where more/faster is obviously better.
  2. Mentioning a table-stakes feature such as having the typical integrations.

Instead of describing the benefit, use the space to go into details such as how you achieve the improved performance.

Direct benefit

If the implications aren’t immediately obvious you need to join the dots. To use a marketing example, not everyone would know that server-side analytics has a benefit of more accurate attribution data.

Direct benefits are a fairly safe bet. For some readers it might be slightly overexplaining, but to others it could be pointing out helpful implications.

Knock-on benefit

A knock-on benefit is the reason why the direct benefit is useful. It’s valid if your feature is something very unusual, such as if it’s augmenting a process in a way that’s not obviously beneficial.

This is very interesting to me, as it mirrors the frustration I’ve felt with a lot of tools where the initial exposure just felt like marketing without any information.

The way it’s implemented on the Nix homepage right now is pretty decent:


Nix builds packages in isolation from each other. This ensures that they are reproducible and don’t have undeclared dependencies, so if a package works on one machine, it will also work on another.


Nix makes it trivial to share development and build environments for your projects, regardless of what programming languages and tools you’re using.


Nix ensures that installing or upgrading one package cannot break other packages. It allows you to roll back to previous versions, and ensures that no package is in an inconsistent state during an upgrade.

I think Nix is complicated enough that just presenting base features would be a bit difficult to understand, so these simple paragraphs explain the direct benefits and knock-on benefits. So as an intro this is quite good. But the way the features are presented right now is cumbersome, watching the codecinemas takes time and doesn’t allow me to glance at the functionality, though I’m not sure how that could best be improved.

The HN thread also has this interesting comment:

Developers are sick of vague promises and wary of black boxes.

  • Demo - reach Wow! in <10 mins
  • Explain how it works
  • Show how real companies use in prod

This seems like a great angle for an introductory talk, and I’ve started working on an outline for presenting Nix at my employer with this.


But before that we start with fluff

Nix is a tool that takes a unique approach to package management and system configuration. Learn how to make reproducible, declarative and reliable systems.

But to be honest I buy fluff, developers are rational, logical but humans after all. :rofl:

On other HN comment in that same thread:

This is the challenge: the right message (features or benefits) to the right person (user or buyer) AND at the right time!


Maybe we focus too much in reproducibility and less in what people does with Nix

2022 Nix Survey Results

True, but it’s just one sentence, and as you say, we’re all humans, so something to catch your attention is not a bad thing.

Yeah, maybe? Or maybe focus is not the issue, just ordering? But for sure, the examples should be more accessible.

That graph is comical on a few levels. “Build and”, two bars with the same label. Is that really an original? What does it mean?

Please allow me to throw in my 2 cents…

I’d not say was the “nix homepage”, but more the “NixOS homepage”, which also mentions nix the package manager/buildtool.

Before defining any “Benefit Layers”, we should therefore solve the current dilemma that is mixing to much stuff on a single landing page.

Once we have separate home pages for the different “things” in the Nix(OS) ecosystem, we can discuss individual “Benefit Layers”, and perhaps also rethink how we categorize them…


I’m not the source :wink:

Waiting for this year data.

We have Nix the package (and environment) manager, we’re trying to sell its reproducibility. Maybe would sell it more, talking about what we can do than how it does.

@NobbZ there are issues related to that

Provide an overview + comparison of what nixos, nix, nixpkgs, etc are
NixOS before Nix on Download Page
There is no landing page for the Linux distribution

1 Like

I think this is quite a good topic in general and also one that touches a few other areas in the community such as the concept of the messaging around nix/nixpkgs/nixos/nixeverythingelse?

It would be interesting to have an initial “NIXALL” landing that helps lead you to the right place you need to be at. This also touches marketing/docs @garbas @fricklerhandwerk @zmitchell

1 Like

We’ve discussed having a separate site/page for Nix before. It makes sense to me because Nix is the common denominator between “Nix as used for development/packaging” and “NixOS”.

There’s also the issue that apparently the website is hard to work on because it uses some outdated technologies (I had never even heard of XSLT before someone mentioned it in that discussion). If we want to make serious improvements to the site it would likely take a complete rewrite, which I’m on board with but also don’t have the specific skills to make happen myself (please, please don’t ask me to write CSS, you won’t like the result :sweat_smile:).