Skip to content

intial draft NixOS depext support#5942

Closed
RyanGibb wants to merge 1 commit intoocaml:masterfrom
RyanGibb:nixos-depexts-shell
Closed

intial draft NixOS depext support#5942
RyanGibb wants to merge 1 commit intoocaml:masterfrom
RyanGibb:nixos-depexts-shell

Conversation

@RyanGibb
Copy link
Copy Markdown
Contributor

@RyanGibb RyanGibb commented May 1, 2024

This addresses #5124 and stems from conversations in #5332.

This is an initial draft to get a conversation started.

Nix's declarative deployment model doesn't match the semantics of the other package managers opam invokes, so it requires some special treatment to be supported.

From conversations on #5332 the most flexible approach is to create a shell.nix and allow the user to decide how to provide the dependencies, such as invoking nix-shell.

This has some limitations, like if the shell is destroyed, and the packages are garbage collected, things will break. For more permanent deployment https://github.com/tweag/opam-nix (or others) can be used to create Nix derivations for opam projects. But this should be sufficient to get depexts on NixOS working for a development environment using an opam switch.

This could possibly also be adapted for Guix.

@kit-ty-kate kit-ty-kate added the PR: WIP Not for merge at this stage label May 2, 2024
@RyanGibb
Copy link
Copy Markdown
Contributor Author

I'm going to close this in favour of creating a Nix shell like environment which Opam can set the environment variables for: https://github.com/RyanGibb/nix.opam

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AREA: DEPEXTS PR: WIP Not for merge at this stage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants