Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nix-darwin will move to its own organization soon #1394

Closed
emilazy opened this issue Mar 21, 2025 · 10 comments
Closed

nix-darwin will move to its own organization soon #1394

emilazy opened this issue Mar 21, 2025 · 10 comments

Comments

@emilazy
Copy link
Member

emilazy commented Mar 21, 2025

Hi everybody,

We have been discussing the future of nix-darwin over the past few months.

@LnL7 started the project in 2016 and was the main contributor for many years, with help triaging PRs from @domenkozar starting in 2022. There was a lull of activity around 2020–2022, before @Enzime and I were onboarded as maintainers in 2023; we’ve been the active maintainers ever since. Although we haven’t always had as much time as we’d like to dedicate to nix-darwin, we’ve done our best to keep things going while working towards fundamental improvements.

Unfortunately, we do not have admin access to the repository, and that has begun to limit our maintenance work. We cannot merge PRs without approval from another maintainer; that’s a good thing in principle, but with two active maintainers means one of us being busy blocks the other’s work, giving us an effective bus factor of 1. We can’t adjust any settings; we’ve had to work around that for the new release branches, and it prevents us setting up proper automated backports. We want to onboard @Samasaur1 as a maintainer, but are unable to do so.

We’ve tried to contact @LnL7 to talk about resolving these issues, whether by transferring the repo to another organization, granting admin access, or adjusting repository settings and onboarding new maintainers. @Enzime and I have reached out with our concerns and proposals multiple times since December, over both email and Matrix, but we haven’t been able to get in contact. We completely understand that he’s likely busy and may not have time to deal with nix-darwin matters, and deeply appreciate his work in creating and steering the project, but we think it’s best for the health of nix-darwin not to wait indefinitely for these issues to be resolved by someone who has moved on from the project.

We wanted to avoid discussing this publicly while we still had hope of hearing from @LnL7, but will be transparent about the plans going forward. We’ve considered multiple possibilities, including joining nix-community, but given the issues we’ve had with lack of control over the project resources, we think moving to an independent organization and keeping our options open for the future is the best path for now. Therefore, we have reserved the nix-darwin organization on GitHub and the nix-darwin.org domain as a new home for the project. @LnL7 and @domenkozar have been sent invites to the new organization and we would be happy to have them involved if they want to be.

We will be moving development to the nix-darwin organization within the next month. Our hope is that @LnL7 will return and help us do a transfer of the existing repository. Failing that, we will make a new repository mirroring the existing one.

In that case, the current repository won’t become a redirect. We will arrange for an automatic error message explaining how to migrate configurations, an update to the global flake repository, and pointers to the new location in the readme and documentation site. We are looking into the possibility of copying issues, but we won’t be able to copy pull requests. We’ll do our best to clear the existing backlog of contributions before we do the move, but anything left over will need to be moved to a fork of the new repository and sent again. We regret the fuss and hope it can be avoided, but we believe that this move will be best for the project in the long run.

We’ll post any major updates in this issue and prepare migration instructions in advance. No immediate changes are required and the current repository will remain active until the move.

Thanks for using and contributing to nix-darwin!

@emilazy and @Enzime, nix-darwin maintainers

@emilazy emilazy pinned this issue Mar 21, 2025
@dwt
Copy link
Contributor

dwt commented Mar 21, 2025

Love this, and wish you all the best with the move. Hopefully @LnL7 resurfaces in time to take the trouble away from the move.

@dustypomerleau
Copy link

dustypomerleau commented Mar 21, 2025

Will there be an opportunity to sponsor the project at the org level (rather than specific maintainers)? I think GitHub Sponsors or Open Collective for the org would make people more likely to chip in, because then they don't have to worry about who is active at any given time. Of course, it means that someone needs to decide how to distribute the donations, but in the short term I'm sure everyone would be happy for the 2 (EDIT: or 3!) active maintainers to just split it. Even though the amount won't be much at the beginning, it would be nice if people could make the gesture. This is actually quite an important piece of the Nix ecosystem, and a lot of people have to work across the boundary between macOS and Linux.

@emilazy
Copy link
Member Author

emilazy commented Mar 22, 2025

I think we’d have to investigate what would be involved in setting up GitHub Sponsors for an organization. I believe that it would still go to one bank account, so splitting things up would potentially involve currency conversion and tax complications. The nice thing about individual GitHub Sponsors is that it handles much of that for us. Maybe Open Collective or Liberapay would solve that? I don’t think either of us expects to earn a living from nix-darwin maintenance, though :)

@LnL7
Copy link
Collaborator

LnL7 commented Mar 24, 2025

Apologies for not getting back on the email.
As mentioned I have not been involved for some time and you guys have been doing a great job working with the project. Also as far as I know there is no way to give members more rights than collaborator on a regular repository, so I agree moving makes sense. I thought we already got rid of the approval requirement with the permission changes for CI some time ago, which sounds especially annoying given the number of actually active maintainers.

My main question regarding the transfer is whether something is ideally coordinated a bit so things don't break and references can be updated. I know GitHub does some redirect magic but don't know the details of how that behaves for users.

@orzklv
Copy link

orzklv commented Mar 24, 2025

My main question regarding the transfer is whether something is ideally coordinated a bit so things don't break and references can be updated. I know GitHub does some redirect magic but don't know the details of how that behaves for users.

@LnL7 github will keep the https://github.com/LnL7/nix-darwin url redirected to new location unless you create new nix-darwin repository with exact same name at your github profile. From my own experience, this will work continuously as we currently have a few repos at @uzinfocom-org and @kibertexnik still working with redirections after years of transfer (this also works for private repos).

@domenkozar
Copy link
Member

Apologies for not getting back on the email. As mentioned I have not been involved for some time and you guys have been doing a great job working with the project. Also as far as I know there is no way to give members more rights than collaborator on a regular repository, so I agree moving makes sense. I thought we already got rid of the approval requirement with the permission changes for CI some time ago, which sounds especially annoying given the number of actually active maintainers.

My main question regarding the transfer is whether something is ideally coordinated a bit so things don't break and references can be updated. I know GitHub does some redirect magic but don't know the details of how that behaves for users.

Thank you @LnL7 for creating nix-darwin, it's a peace of art 🙇

@emilazy
Copy link
Member Author

emilazy commented Mar 24, 2025

It’s great to hear from you, @LnL7 💜 Thanks again for all the work you’ve done on nix-darwin and I hope we can continue to do justice to it going forward. Hope this issue wasn’t too much of a surprise. You should still have an invite for the GitHub organization sitting in your inbox, but I understand if you don’t have the time any more and want to move on :)

In terms of transfer, I think that things should be pretty smooth if we do a standard GitHub repository transfer. Issues and pull requests will be moved over, and both web URLs and clones will redirect indefinitely, so we can transfer the repository first and update things like the flake registry gradually.

The main thing I can think of that would require migration work would be the documentation site. I believe that GitHub won’t set up a redirect for the GitHub Pages of moved repositories. I don’t know how many people have the manual bookmarked, but if we’re worried about it, I think you should be able to put these redirect pages in your main GitHub pages repository and have them get redirected automatically.

@emilazy
Copy link
Member Author

emilazy commented Mar 25, 2025

@LnL7 I’ve opened LnL7/lnl7.github.io#1, which should handle the documentation site redirects. I think that merging that and transferring the repository should let us migrate cleanly without any further coordination or need for users to change anything. Thanks again for everything!

@emilazy
Copy link
Member Author

emilazy commented Mar 27, 2025

I’ve also opened #1403 to handle the references in the repository once the transfer is complete, though the redirect will mean that we don’t need to do any synchronous coordination on that.

@emilazy
Copy link
Member Author

emilazy commented Mar 28, 2025

And we’re done! Still some loose ends to tidy up but the repository is transferred over and the docs are live at the new URL. Hopefully a lot of improvements to come now that we’re not blocked on this. Thanks @LnL7!

@emilazy emilazy closed this as completed Mar 28, 2025
@emilazy emilazy unpinned this issue Mar 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants