-
Notifications
You must be signed in to change notification settings - Fork 203
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
Manage system dependencies with Nix #3253
Conversation
Regarding the python dependencies for the docs: I'll add python and pip in a second. If you want to prevent cases like a few days ago where the CI fails because python packages changed, we could also manage the python packages with Nix. We could choose to keep the standard Or we can leave it as is and only have python and pip in nix 🤷. |
This reverts commit 96bbd28. Because docs CI fails and it's not used anymore anyway.
Description
This PR adds support for installing Zotonic's system dependencies using Nix. I think it's great for ease of installation and reproducibility.
The configuration is quite simple: the dependencies are listed in
shell.nix
and when you enter the shell usingnix-shell
the relevant environment variables (like$PATH
) get set, so the packages become available. It should override any other version installed on your system, but only when you're in the shell. Otherwise, it does not conflict with anything (you could have dependencies installed with Nix next to those installed with your standard package manager on the same machine).The dependency versions are pinned by a specific version of the Nix package set defined in
nix/nixpkgs.nix
. We can override the package set with thenixpkgs
argument inshell.nix
and this is what we do in the over-arching Nix configuration at Driebit.If you're interested in merging, I'll also add it to the installation instructions in the documentation.
I'm not sure anymore where the changes in the lock file came from. I think it happened when I was trying to get things running with Marc, but I'm not sure if it should stay.
Checklist