Community Feedback Requested: 2025 Nix Community Survey Planning

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