-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Make shell.nix to be only a development environment #4632
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Matthias Beyer <[email protected]>
Signed-off-by: Matthias Beyer <[email protected]>
Signed-off-by: Matthias Beyer <[email protected]>
Signed-off-by: Matthias Beyer <[email protected]>
I'd prefer if this file was maintained outside the Mixxx repo. Maybe the nixpkgs repo would be willing to add an additional In my opinion, the mixxx repository should only contain files for the officially supported platforms (Windows/macOS/Ubuntu). Other flavors of Linux have to adapt and should to be maintained externally. For example, I'm maintaining an ArchLinux AUR package over here: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mixxx-git The reason is that we cannot add configuration files and CI for every distro out there. Our CI queue can already grow quite long, and in case the CI build breaks, nobody from the core team can fix the issue. We'd have to wait until you have time to take care of it (which blocks our development progress) or just ignore the broken CI jobs (also bad and makes people become used to ignoring failing checks). If you would be willing to maintain it externally, we could mention it in the wiki so that other nixOS users can make use of it, too. |
The |
How often should I explain this again, nix is not a distribution. If you package an AUR packages, you are packageing for one distribution. Nix is a isolated, self containing build system/package system that can run on any unix like system. Making the shell.nix development only is just plain wrong. Nix in most cases does the right thing between dev environment and building a derivation. If you don't allow building derivation you force people to not use their own mixxx build offline, which is just annoying. That the shell.nix is primary for development in tree, yes, but forcing one to, while creating a derivation is possible just makes no sense. It is very much possible that you won't be able to enter your dev shell without internet. I said multiple times that I would maintain this, I said that I will maintain custom CI runners for this if the resources are a problem. No CI will just cause it to break sooner or later, thats why I added them after the break. I don't mind if breaking them is allowed, I just want to get notice of it. |
I have nothing against removing the libc workarounds, I think they are obsolete now. But making this dev only is absolute nogo for me. Maybe we should switch to a flake.nix, that would make sense and simplify the dependencies a lot |
Sure, if you think that distro independence of the nix package is the key difference, we can also compare it with the flatpak build which is maintained externally, too: https://github.com/flathub/org.mixxx.Mixxx
This shouldn't be a big issue, Mixxx dependencies rarely change. The point is that stuff in our tree kind of makes it "official", and we want to keep the list of officially supported distros small because we don't have the resources. |
Thank you for this PR, I am sorry that this topic is unexpected still controversy. What are the pro and cons: Contra:
Pro:
Do I miss something? Is there a chance for a compromise? Something like moving it to tools or add a disclaimer that this is not official? |
I second the suggestion of putting disclaimer somewhere making it clear that the nix support is maintained outside of the mixxx project. That could go in the README, and/or in the shell.nix file itself. |
This PR is marked as stale because it has been open 90 days with no activity. |
Aligned with my comment here, I'm marking this PR as draft for the time being. If you still have interest in proving support for NixOS on Mixxx, please feel free to mark it ready once we should review and merge this PR! I would be appreciated if you could close any PR that may be superseded with this one, to help us keeping the PR count under control |
Superceeds #3795
Closes #3795
So after the suggestion by @daschuer which are quite right, this is my take in transforming the
shell.nix
file into a development environment helper.I will maintain this file from this PR on.