Community Feedback Requested: 2025 Nix Community Survey Planning

Hello Nix Community,

The Marketing Team is preparing to launch this year’s annual community survey.

We’re conducting this survey to better understand our community and what people care about. Your responses will help Nix teams better serve the broader community by guiding priorities, identifying gaps, and amplifying voices across our ecosystem.

You can view the current list of questions here.

We’re inviting community-wide feedback to improve the question prompts. In addition, we encourage the NixOS Foundation, Steering Committee, and official teams to propose additional prompts that can help inform their specific areas of work.

How to Submit Feedback

Please send your suggestions by 2025-07-16 via:

Guidelines for Proposing New Prompts

If you’d like to suggest a new prompt or propose a change to an existing one, please follow these guidelines:

  1. Limit submissions to 3 additional prompts per group (Foundation, Steering Committee, official teams) — we want to keep the survey concise and focused.
  2. Prefer Yes/No, categorical, or multiple choice prompts.
  3. Use ranked choice prompts sparingly, and keep the number of options manageable.
  4. Avoid conditional/branching questions unless absolutely necessary — we aim to maintain a flat and simple survey structure.

Final Notes

We appreciate your help making this survey as useful and inclusive as possible. While we can’t guarantee that every suggestion will be included, all feedback will be reviewed and carefully considered.

Thank you for supporting the Nix community!

— NixOS Marketing Team

10 Likes

Awesome! Can’t wait to see the results.

Maybe update the link so that it points to the main branch?

1 Like

One thing I want to see is what system triple people are using. Likely the choices could be picked based on a set list. The triple is a set of arch, OS, and ABI in this context.

Edit: made a PR community 2025: add system triple question by RossComputerGuy · Pull Request #2 · NixOS/surveys · GitHub

3 Likes

I’m tagging a few groups and people because I could not find an appropriate matrix room to ping them in. Please see the original post.

@moderation-team
@steering_committee

Release Managers
@RossComputerGuy
@leona
@wegank
@Mic92
@figsoda
@RaitoBezarius
@hexa
@das_j

1 Like

Replying here as I’m not sure how to structure this comment in a PR, it’s commentary on a specific question and not a concrete suggestion on how to word the question.

  • prompt: How would you describe your skill level with Nix?
    type: single
    choices:
    - I have never used Nix
    - Novice — I’ve just started using it
    - Beginner — I can use Nix but rely on examples
    - Intermediate — I write or adapt Nix expressions
    - Advanced — I package software or build systems with Nix
    - Expert — I contribute to Nix tooling or teach others
    - Prefer not to say

For me the fact that “I package software” is considered advanced is the opposite of my experience. My first PR in nixpkgs was before I had much understanding of how Nix worked, simply because it was easy to copy paste code from another package and follow the guides in nixpkgs. Same thing goes for “build systems with Nix” [1], I think it’s easy to use Nix to configure a NixOS system without having advance knowledge of Nix itself. Both of these use cases should fall under the “Beginner, rely on examples” category in my view.

I think this is another case of the word Nix referring to too many things at once. I personally feel I have a good understanding of NixOS, nixpkgs and modules, the store and gcroots, etc. But I also have very little understanding of the Nix language itself. So in which category does my skill level belong to?

[1]: Another comment, the wording isn’t clear to me here if this refers to build systems or building/configuring systems using NixOS. I assume the latter.

4 Likes

I would be interested in the upgrade experience. Currently, I don’t have an explicit question but something along the lines of “If you use NixOS stable, how was your experience upgrading to the new stable version?” with 1-5 and a free-text field where problems could be explained.
This is not highest priority tho I think and I don’t know how good it fits into the survey

7 Likes

Thanks for bringing this up @Erethon. I took an initial pass at improving and updating the questions from last year, but it obviously could be better. Here is what it was last year.

  - prompt: How would you describe your skill level with Nix?
    type: single
    choices:
      - I have never used Nix
      - Beginner
      - Intermediate
      - Advanced

This was used to along with the question about number of years of experience to create a heat map. Last year it confirmed that around 2 years, people start to feel like they have an intermediate knowledge level with Nix. As the years go on, it would be very informative to see how that data trends. With improvements in documentation and tooling, can we start to lower that number?

But what is intermediate? Last year we left that up to the individual to decide. We could try to rely on an ever increasing sample size to give us something close to truth or define a set of levels with some parameters. If we cannot come up with a good set of criteria for each level, I will probably default back to how the question was last year for the sake of having some historically consistent data, but I’d like us to try. I think we can get close.

Maybe starting off with the 3 levels is easier. Too much granularity can make it hard to draw a defining line. And maybe we can shape the idea of each level around understanding and independence…

Beginner

  • I just starting using Nix/NixOS
  • I rely on blog posts, video tutorials, or examples.
  • I feel like a dog doing chemistry.
  • I can configure a usable NixOS system.

Intermediate

  • I have some understanding of some part of the ecosystem
    • How overlays work
    • How modules work
    • Some portion about how Nix works
    • How one of the language frameworks work

Expert

  • I teach others about Nix/Nixpkgs/NixOS (at an intermediate level?)
  • I understand a portion of the ecosystem enough to make architectural choices
    • About one of the language frameworks
    • About stdenv
    • About modules
    • About some Nix experimental feature

Thoughts?

3 Likes

I really like this. Could definitely add a single choice question. I think I forgot to mention it in my original post but we are really trying to avoid free-text fields. They are incredibly difficult to process. I wonder if we could add some qualifiers to each level to better guide the individual.

1 - I had severe issues and could not make the upgrade.
2 - I had severe issues but figured it out after some time.
3 - I had moderate issues.
4 - I had minor issues.
5 - I had no issues.

This question is to better inform your work so I’d appreciate your thoughts on this.

1 Like

I would like to know for how many people the Nix language is their first or their first functional programming language to learn or use at scale. Not sure about the exact details of structuring question and answer options, we can discuss this out of band.

2 Likes

I want to mention community/2025: "What is your gender identity?" choices suck · Issue #4 · NixOS/surveys · GitHub here - I think it’s important that other trans people weigh in on this, even if it’s just to add a heart to the issue.

5 Likes

Just a reminder that the link still points to a specific commit instead of main.

3 Likes

Hmm I thought I had updated the link. I was on my phone so I must have messed up. Should be correct now. Thanks for following up.

2 Likes

I also like this idea! Happy to include it like that

1 Like

I really like this proposed change! I think the fact that you based the level on the ecosystem as a whole is what makes it work. Nix is a lot of things, so the new phrasing better reflects this and makes it easier to identify which level one belongs to.

Thank you for taking the time to think this through and take my feedback seriously!

1 Like

Hey @Erethon

@flyfloh brought up the skill level question during today’s marketing team meeting.

what if we separate the self assessment question from the ‘what are you doing with it’ question. Let the user determine their own level and then we use another question(s) to find out what people are using.

I think the important point about this is that setting the criteria for each skill level actually works against us. It compresses the information we obtain. Rather if if we separate the two questions, we can independently assess how people view their skill level and what they know.

The questions we came up with are captured in the minutes here but I’ll copy them in this thread so we can discuss them further.

  • I just started using Nix.
  • I rely on blog posts, video tutorials, or examples.
  • I can write my own Nix expressions.
  • I use the module system to create my own NixOS configuration.
  • I can write my own NixOS modules.
  • I understand submodules.
  • I understand how overlays work.
  • I feel comfortable enough to contribute upstream.
  • I teach others about Nix/Nixpkgs/NixOS.
  • I understand a portion of the ecosystem enough to make architectural choices
    • About one of the language frameworks
    • About stdenv
    • About modules
    • About some Nix experimental feature
    • Or something else not listed
  • I have read some portion of the Nix source code and understand it.
  • I completely understand all Nix error messages. (joking :stuck_out_tongue_winking_eye: )

This list can certainly be improved; this is just what we came up with 30 minutes. I think two of the biggest hurdles when people start using Nix are overlays and modules. Take the idea of modules for example.

  • I use the module system to create my own NixOS configuration.
  • I can write my own NixOS modules.
  • I understand submodules.

From the last survey, we say that ~90% of the survey takers use NixOS. So the first thing people would try to do is write a working NixOS configuration. As they gain more experience, they might find they need start writing their own modules. This is an increase in skill level. And further more, writing a submodule demonstrates another increase in skill level.

The goal is to find questions that convey level of skill level and understanding. From “using” something to surface level understanding and then deeper and deeper understanding. Actually it might be good to write something similar for the overlay question. Adding “I use overlays.” to pair with the “I understand overlays” question.

4 Likes