Skip to content

Latest commit

 

History

370 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NixOS Surveys

This repository hosts survey materials, results, and analyses relevant to the NixOS project. While it was originally created to support our annual community survey, it has been restructured to accommodate multiple types of surveys in the future.

Structure

Surveys are organized into directories by type. Each directory typically contains:

  • Survey questions and methodology
  • Code used to process, analyze, and visualize results
  • Aggregated and anonymized data summaries
  • Synthetic data
  • Raw data is not included to protect respondent privacy

Current structure:

surveys/
├── community/       # Community-wide annual surveys
# └── future/        # Other survey types (e.g., contributor, event, sponsor)

Purpose

Surveys help the NixOS community:

  • Understand how users and contributors engage with the project
  • Identify areas for improvement in the ecosystem and community
  • Track project growth and ecosystem trends over time
  • Support data-informed decision-making across teams

Data Handling and Privacy

We take respondent privacy seriously. To that end:

  • Raw survey results are not published in this repository. These typically contain granular metadata that could risk identification.
  • Only aggregated and anonymized results are made public.
  • Where possible, we may consider publishing normalized or synthetic data that preserves trends without exposing individual responses. This can be used by those who want to contribute to the processing code but do not have access to the raw result data.
  • Data processing code in the repository reflect how raw inputs are transformed into public outputs.

Contributions

Contributions are welcome! We encourage transparency and community participation in all stages of the survey process, from question design to result interpretation. If you'd like to propose a new survey or help with analysis, feel free to open an issue or pull request. For larger proposals, consider discussing them on Discourse or in the relevant team meetings (e.g., Marketing Team).

Survey data: vendored vs. computed

The processed chart data (results-2025.json) is vendored — committed at overlays/top-level/nixos-surveys-community-2025-data/results-2025.json. The raw survey CSV contains PII and is never committed, so vendoring lets anyone build the site and edit components, styling, and client-side chart behavior without it.

Contributing without the CSV (most contributors)

nix develop
dev                          # serves the site against the vendored data
nix build .#nixos-surveys-site

dev hot-reloads Astro components, CSS, and client chart code. The Python data pipeline is frozen in this mode — changes to community/2025/process.py, commentary.md, survey.yaml, or render_echarts.py won't appear unless the data is recomputed (see below), or you edit the vendored JSON directly for a one-off.

To iterate on the pipeline itself without the CSV, use synthetic data:

dev --dummy                  # full pipeline against generated fake responses

This fabricates a deterministic fake CSV from community/2025/survey.yaml (see community/2025/generate_dummy.py), runs the full pipeline on it, and rebuilds on pipeline changes — exactly like dev --live but with no real data. The rendered numbers are meaningless; never present them as real results. To inspect the generated CSV itself:

nix build .#legacyPackages.x86_64-linux.nixos-surveys-community-2025-data-from-dummy
ls result/

Working with the raw CSV (data maintainers)

  1. Add the CSV to the Nix store:
    nix-store --add-fixed sha256 /path/to/nix-community-survey-2025-completed-responses.csv
    
  2. Iterate live (recomputes from the CSV, watches the pipeline):
    nix develop
    dev --live
    
  3. When the data should change for everyone, regenerate and commit the vendored file:
    vendor-data
    git add overlays/top-level/nixos-surveys-community-2025-data/results-2025.json
    git commit
    

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

5 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages