About the Patches category

This category is reserved for contributors who want to submit patches without creating an account on GitHub.

How to contribute

  1. Sign up to https://discourse.nixos.org/ with your sender email
  2. Send your patches to nixos1+dev-patches@discoursemail.com and they will appear in this category
  3. Wait for a contributor to review and apply your changes

Git includes patch formatting and email-sending capabilities. Have a look at the documentation over here for more detailed usage:
https://www.git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Email

4 Likes

I mailed above address from the very same address I registered this discourse account. The answer was:

Date: Sat, 12 Oct 2019 18:05:10 +0000
From: NixOS Discourse nixos1@discoursemail.com
Reply-To: NixOS Discourse nixos1@discoursemail.com
To: klemens@posteo.de
Message-ID: e41ec2e8-0ec1-4326-b882-7b979968782f@discourse.nixos.org
Subject: [NixOS Discourse] Email issue – Insufficient Trust Level

We’re sorry, but your email message to [“nixos1+dev-patches@discoursemail.com”] (titled …) didn’t work.

Your account does not have the required trust level to post new topics to this email address. If you believe this is an error, contact a staff member.

As an alternative, I mailed nixos1+inbox@discoursemail.com as described in About the Inbox category, which does create a thread in the Inbox category, yet only the commit message makes it through - patches are silently dropped.

Please provide working ways to submit patches through mail.

@kl3 I bumped your trust level, can you try again please?

My mail got through without any trust issues this time apparentely,
but the diff is still missing - see my other reply.

Hi! I just sent a few patches to the email. How can I be sure that they were successfully received by discourse, and not lost in SMTP oblivion?

Update: I have once again gained access to my GitHub account. If the patches arrive, please ignore them.

Is this category still alive? Or should it be retired?

I’d like to keep it until we have a better alternative.

Who would like to help make that possible?

I’m thinking

  1. self hosted forge that functions as a mirror
  2. enable opening PRs on the new forge so that they are forwarded to GitHub and commit status gets synced back by a bot
  3. run CI on the new forge

The infra team has their hands full with the current infra, I believe, so I think the right way to do this is to first develop this separately, and when it’s shown that (1) and (2) work, work with the infra team to integrate it and make it official.

Besides supporting users who have objections against GitHub, this has the additional benefit of improving the robustness of our infrastructure against certain risks, and creating an opportunity to make a forge work better for us as a distribution.

I understand the motivation and appreciate the desire to make contributions more accessible for everyone.

That said, I would like to offer a different, and admittedly opinionated, view.

Personally, I think this forum category should not exist. It sends the wrong signal about where contributions should go. Yesterday, I took the time to apply a few patches that had been sitting on the forum for months without feedback and it took extra effort just to make them apply cleanly. Then, within less than an hour in a Github PR, they were reviewed. That alone is a clear indicator that the forum is simply not the right place for patch submission or code review.

Between 2019 and 2025, we have seen about ~11 users post roughly ~17 patches on the forum. While I respect the intent behind enabling alternative contribution paths, I honestly do not think it justifies building and maintaining a self-hosted section for patches. That energy could be better invested in improving the existing infrastructure, which benefits the much larger group of contributors already working on GitHub.

Now, to be clear: I would definitely prefer having our own official forge for all contributors, not just as a mirror, but as the canonical platform. That would be a much better long-term solution. But until we reach that point, GitHub provides strong value, especially with its free CI/CD infrastructure, which is something we rely on heavily. It is not perfect, but it works well enough for the vast majority of us.

Let’s focus our limited time and resources on making that main path even better instead of supporting a parallel track that sees very little engagement and introduces additional overhead.

2 Likes

That’s why I’m using this as an opportunity not to put more on the infra team’s plate, but to grow as a community.

I wouldn’t rule out such a possibility, if with time that proves to be the better option.
For now I believe we benefit from access through GitHub.

1 Like

Some of us, like me, aren’t going to create a github account. Given where the world is going right now, contributing on US controlled, private platform, is not what I want to be doing.

I do not mind if the community ignores world-events and wants to continue down the path of opensource on proprietary platforms. But IMO there should be a clear decision on the matter so that this category doesn’t waste anybody’s time. If it’s clear the community only wants Microsoft and nothing but Microsoft, delete this category and non-MS people like me can create alternative and parallel efforts.

Going to share my personal opinion here, please don’t take it personally.

I’m afraid you’re not contributing to a US-based platform, but to a global, boundary-free open-source project. Everything is out in the open, whether on GitHub, Codeberg, or anywhere else, you’re working on the same open-source codebase. By choosing a non-default platform, you’re creating extra work for us, and I sometimes wonder whether it’s helpful (spoiler alert: it’s not at all)

I’m not particularly fond of the fact that GitHub is owned by Microsoft, but since all my work is open source, it doesn’t really bother me. Choosing another platform might align with some idealistic ambitions, but in practice, it doesn’t add any practical benefits.

I’m afraid you’re not contributing to a US-based platform, but to a global, boundary-free open-source project.

Sorry, but I disagree. A major reason quitting Github/Microsoft is so difficult for many projects and people is because of the amount of people on it. By joining or staying on it, you contribute to its popularity and activity. As for boundary-free, try contributing from Iran or a sanctioned country.

I sometimes wonder whether it’s helpful (spoiler alert: it’s not at all)

You’re not wondering. You have already made a decision. That is not wonderful :wink:

Choosing another platform might align with some idealistic ambitions, but in practice, it doesn’t add any practical benefits.

Again, I beg to differ.

Regardless, I think you’re just politely saying out loud what the silent majority of nixpkgs contributors think (and act) - you don’t care for outside contributors and non-conformists. Either we conform / play by your rules or we don’t matter. I have no problem with that and it’s good that it’s said out loud. At least we know where we stand.

1 Like

I fully acknowledge those concerns. GitHub’s popularity does create a network effect, and contributors in sanctioned regions truly face challenging barriers. Have you experienced that yourself? I sincerely hope it’s not the case.

A practical workaround is to fork nixpkgs on your platform of choice and work from there. Share your branch and progress by pushing to your branch only. Git supports multiple remotes, so maintainers can easily add your remote and fetch or merge your branch into the main repository. This lets you use your preferred platform while integrating seamlessly—collaboratively and efficiently. Working just with patches, shifts the entire burden onto maintainers and significantly reduces the likelihood that your contribution will be accepted or even looked at.

That’s not my intention at all but… just as you feel I don’t care about outside contributors, I feel the same about maintainers being burdened by patches sent instead of working through GitHub. It forces extra overhead on us—and that’s precisely what I was trying to point out.

When I began contributing, I accepted that this project’s workflow centres on GitHub. Sure, I’d love us to host our own software development lifecycle machines one day, but please don’t interpret pragmatism as disrespect. It’s simply the baseline we work from, if you’re not prepared to accept it, I am sorry, but there isn’t much we can do. And once again, it isn’t personal, nor a rejection of different ideas.