2025 Election for the Steering Committee
  • Haskell 47.3%
  • Shell 35.8%
  • Nix 16.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-11-02 22:45:18 +01:00
.github add interaction automation 2025-09-19 22:11:32 +02:00
candidates Candidate statement: K900: remove mistakenly put answer in Q&A 2025-10-15 22:42:49 +02:00
doc add automation and information for nominations, endorsements, and acceptance 2025-09-14 19:59:57 +02:00
emails more lax json parsing 2025-10-08 00:16:04 +02:00
gen compute missing emails 2025-10-07 23:34:43 +02:00
scripts Candidate Q&A 2025-10-14 02:55:54 +02:00
STV-local-count Doing a local count with multiple implementations 2025-11-02 22:45:18 +01:00
.gitignore create cabal project to generate contributors 2025-08-31 13:09:46 +02:00
contributors.csv count PR merges for contributors 2025-09-02 21:25:08 +02:00
eligible.csv apply magic-link-based voter registration 2025-11-02 07:12:18 +01:00
emails-not-to-autoset.txt Add a marked-OpaVote-as-spam (possibly with no user action) to a list of emails not to set automatically 2025-10-19 17:38:24 +02:00
endorsersAsked.csv Update list of endorsers asked 2025-09-30 21:19:12 +00:00
excluded-details.csv Exclude a contributor due to emailed request 2025-10-09 16:17:25 +02:00
excluded.csv Exclude a contributor due to emailed request 2025-10-09 16:17:25 +02:00
flake.lock create cabal project to generate contributors 2025-08-31 13:09:46 +02:00
flake.nix create cabal project to generate contributors 2025-08-31 13:09:46 +02:00
fourmolu.yaml create cabal project to generate contributors 2025-08-31 13:09:46 +02:00
gen.cabal compute missing emails 2025-10-07 23:34:43 +02:00
invited.csv Update list of invited users 2025-09-29 21:47:12 +00:00
LICENCE.md create cabal project to generate contributors 2025-08-31 13:09:46 +02:00
maintainers-2024-09-15.json import maintainer data for two time moments with nix-instantiate <nixpkgs>/maintainers/maintainer-list.nix --json --eval-only --strict 2025-10-06 09:26:46 +02:00
maintainers-2025-10-05.json import maintainer data for two time moments with nix-instantiate <nixpkgs>/maintainers/maintainer-list.nix --json --eval-only --strict 2025-10-06 09:26:46 +02:00
missing-emails.csv Definitive list of emails to send now; plus scripts to generate the emails and the magic links 2025-10-08 01:37:25 +02:00
opavote-ballots-5.blt Ballot list with corrected seat count 2025-11-02 22:45:18 +01:00
opavote-ballots.blt Import OpaVote ballots 2025-11-02 22:45:18 +01:00
README.md readme: clarification for AoE timezone 2025-10-17 15:27:56 +00:00
voters-2024.json import collected voter addresses from 2024 election 2025-10-06 09:26:46 +02:00

Nix SC election 2025

Who can vote?

The constitution defines a process for automatic voter eligibility based on the number of commits and merge actions in merged PRs opened by a person in any of the projects inside the NixOS GitHub organisation.

  • The minimal number of commits for automatic eligibility is 25
  • The minimal number of merges for automatic eligibility is 1
  • The eligibility window is the past 4 years from and to 1 Aug (see table below for exact dates)

Who can run?

Nominees and endorsers must themselves be eligible voters.

How to request an exception

People who have contributed to the official projects in a verifiable and substantial1 way may reach out to the EC.

  • Provide references to contributions
  • Specify which email address you wish to use for voting

A non-exhaustive list of examples of contributions:

  • participation in official teams
  • infrastructure maintenance
  • organisation of official events
  • maintenance of official third-party accounts (e.g. social media)
  • significant contribution to important PRs under overall PR authorship of other users

How to become a candidate

The outline of the candidate process is as follows:

Please read the linked documentation for in-depth descriptions of the process.

How to ask questions of candidates and nominees

Any eligible voter can create an issue using the Candidate Question template.

Note that nominees can answer questions even before they have received sufficient endorsements to become candidates.

Questions can be aimed at specific candidates or nominees, but may be answered by any candidate or nominee.

After the question has been posted, only candidates and nominees can respond to it.

Timeline

Description Start date End date
Contribution window 2021-08-01T00:00:01 UTC 2025-08-01T00:00:01 UTC
Candidate self-nominations, nominations, acceptances, and endorsements 2025-09-14 2025-09-30
Submission of questions from eligible voters to candidates 2025-09-14 2025-10-03
Exception requests 2025-09-14 2025-10-11
Candidates' answers to the questions 2025-09-14 2025-10-11
Voter registration (for inclusion in the initial OpaVote upload) 2025-09-14 2025-10-14
Voting 2025-10-15 2025-11-01

We will make an effort to regularly, once per 3 days or more often, upload the later registrations to OpaVote, but this will be manual and not in real time»

Voting end date is 2025-11-01 Anywhere on Earth (AoE, UTC-12), which is the most delayed timezone. This means if your (local) clock shows 2025-11-01 or an earlier date you can still vote. If your (local) clock shows 2025-11-02 (one day after the end date) you may still be able to vote but you will have to compare timezones2 to be sure.

Election Committee (EC)

The EC is the temporary team to administer the election from start to finish. Its primary mission is to ensure legitimacy of the election.

The election committee for this election consists of:

  • @ners
  • @7c6f434c
  • @RossComputerGuy

For any questions, concerns or suggestions about this election, reach out to the election committee:


  1. The constitution defines substantial contributions as roughly corresponding to at least 25 commits ↩︎

  2. env TZ=Etc/GMT+12 date --rfc-3339=s will give you the relvevant AoE time and date. As long as the date portion still displays 2025-11-01 or earlier this means you can still vote. Any time left before the following day (2025-11-02) is the time left for voting. ↩︎