Usage with odig? #79
Unanswered
MarcCoquand
asked this question in
Q&A
Replies: 2 comments
-
|
Hi, I think the reason for this is the "fake" opam script that we have. Could you share your |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Hi, I think the reason for this is the "fake" opam script that we have. Could you share your flake.nix?
Yeah could be, this is how mine looks like:
```
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
opam-nix.url = "github:tweag/opam-nix";
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.follows = "opam-nix/nixpkgs";
};
outputs = { self, flake-utils, opam-nix, nixpkgs }:
let package = "prgrm";
in flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
on = opam-nix.lib.${system};
devPackagesQuery = {
# You can add "development" packages here. They will get added to the devShell automatically.
ocaml-lsp-server = "*";
ocamlformat = "*";
ocamlfind = "1.9.5";
utop = "*";
odoc = "*";
odig = "*";
};
query = devPackagesQuery // {
## You can force versions of certain packages here, e.g:
## - force the ocaml compiler to be taken from opam-repository:
ocaml-base-compiler = "*";
## - or force the compiler to be taken from nixpkgs and be a certain version:
# ocaml-system = "4.14.0";
## - or force ocamlfind to be a certain version:
};
scope = on.buildOpamProject' { } ./. query;
overlay = final: prev: {
# You can add overrides here
${package} = prev.${package}.overrideAttrs (_: {
# Prevent the ocaml dependencies from leaking into dependent environments
doNixSupport = false;
buildInputs =
[ pkgs."gmp" pkgs."libev" pkgs."openssl" pkgs."libargon2" ];
DUNE_PROFILE = "release";
});
};
scope' = scope.overrideScope' overlay;
# The main package containing the executable
main = scope'.${package};
# Packages from devPackagesQuery
devPackages = builtins.attrValues
(pkgs.lib.getAttrs (builtins.attrNames devPackagesQuery) scope');
in {
legacyPackages = scope';
packages.default = main;
apps.prgrm.default = {
type = "app";
program = "${main}/bin/prgrm";
};
devShells.default = pkgs.mkShell {
inputsFrom = [ main ];
buildInputs = devPackages ++ [
# You can add packages from nixpkgs here
pkgs.sqlite
pkgs.dbmate
pkgs."rabbitmq-server"
];
};
});
}
```
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Heya!
I'm trying to use opam-nix together with odig to view documentation for each package.
I can get it to run, but I have the following errors:
And it shows just an empty documentation directory.
Beta Was this translation helpful? Give feedback.
All reactions