Skip to content

Commit 7027b85

Browse files
committed
build: add mainProgram to nix flake
1 parent 09cf7e4 commit 7027b85

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

flake.nix

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
supportedSystems = nixpkgs.lib.systems.flakeExposed;
1212

1313
mkOcamlEnv =
14-
system:
14+
pkgs:
1515
let
16-
pkgs = nixpkgs.legacyPackages.${system};
1716

1817
ocamlPackages = pkgs.ocamlPackages // {
1918
spectrum = ocamlPackages.buildDunePackage {
@@ -75,36 +74,41 @@
7574
buildInputs = buildInputs ++ buildInputsCli;
7675
};
7776

78-
in
79-
{
80-
packages = nixpkgs.lib.genAttrs supportedSystems (
81-
system:
77+
mkOcamlBuild =
78+
pkgs:
8279
let
83-
env = mkOcamlEnv system;
80+
env = mkOcamlEnv pkgs;
8481
in
85-
{
86-
default = env.ocamlPackages.buildDunePackage {
87-
pname = "mlpreview";
88-
version = "0.0.3";
89-
duneVersion = "3";
90-
src = ./.;
82+
env.ocamlPackages.buildDunePackage {
83+
pname = "mlpreview";
84+
version = "0.0.3";
85+
duneVersion = "3";
86+
meta = {
87+
mainProgram = "mlpreview";
88+
license = pkgs.lib.licenses.eupl12;
89+
};
90+
src = ./.;
9191

92-
strictDeps = true;
92+
strictDeps = true;
9393

94-
inherit (env) nativeBuildInputs buildInputs;
94+
inherit (env) nativeBuildInputs buildInputs;
9595

96-
postInstall = ''
97-
# Wrap installed executables to include required CLI tools on PATH
98-
wrapProgram "$out/bin/mlpreview" --prefix PATH : "${env.pkgs.lib.makeBinPath env.buildInputsCli}"
99-
'';
100-
};
101-
}
102-
);
96+
postInstall = ''
97+
# Wrap installed executables to include required CLI tools on PATH
98+
wrapProgram "$out/bin/mlpreview" --prefix PATH : "${env.pkgs.lib.makeBinPath env.buildInputsCli}"
99+
'';
100+
};
101+
102+
in
103+
{
104+
packages = nixpkgs.lib.genAttrs supportedSystems (system: {
105+
default = mkOcamlBuild nixpkgs.legacyPackages.${system};
106+
});
103107

104108
devShells = nixpkgs.lib.genAttrs supportedSystems (
105109
system:
106110
let
107-
env = mkOcamlEnv system;
111+
env = mkOcamlEnv nixpkgs.legacyPackages.${system};
108112
in
109113
{
110114
default = nixpkgs.legacyPackages.${system}.mkShell {
@@ -120,7 +124,7 @@
120124
}
121125
);
122126

123-
overlays.default = f: p: { mlpreview = self.packages.${p.system}.default; };
127+
overlays.default = final: prev: { mlpreview = mkOcamlBuild prev; };
124128
overlay = self.overlays.default;
125129

126130
};

0 commit comments

Comments
 (0)