Skip to content

Commit d0990d0

Browse files
committed
build: update flake to include overlay
1 parent bc0c5b9 commit d0990d0

File tree

1 file changed

+33
-12
lines changed

1 file changed

+33
-12
lines changed

flake.nix

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
system:
1515
let
1616
pkgs = nixpkgs.legacyPackages.${system};
17+
1718
ocamlPackages = pkgs.ocamlPackages // {
1819
spectrum = ocamlPackages.buildDunePackage {
1920
pname = "spectrum";
@@ -33,39 +34,47 @@
3334
};
3435
};
3536

37+
buildInputsCli = [
38+
# CLI dependencies
39+
pkgs.eza
40+
pkgs.ffmpeg
41+
pkgs.bat
42+
];
43+
3644
buildInputs = [
3745
# OCaml dependencies
3846
ocamlPackages.cmdliner
3947
ocamlPackages.ctypes
4048
ocamlPackages.spectrum
4149

42-
# Linking dependencies (make available for dynamic linking)
50+
# Linked libraries
4351
pkgs.libarchive
4452
pkgs.mupdf
45-
46-
# CLI dependencies
47-
pkgs.eza
48-
pkgs.ffmpeg
49-
pkgs.bat
5053
];
5154

5255
nativeBuildInputs = [
5356
ocamlPackages.ocaml
5457
ocamlPackages.dune_3
5558

56-
# For finding c libraries
59+
# For finding C libraries
5760
pkgs.pkg-config
61+
62+
# For wrapping executables with PATH
63+
pkgs.makeWrapper
5864
];
5965

6066
in
6167
{
62-
buildInputs = buildInputs;
63-
nativeBuildInputs = nativeBuildInputs;
64-
ocamlPackages = ocamlPackages;
68+
inherit
69+
buildInputsCli
70+
nativeBuildInputs
71+
ocamlPackages
72+
pkgs
73+
;
74+
75+
buildInputs = buildInputs ++ buildInputsCli;
6576
};
6677

67-
in
68-
{
6978
packages = nixpkgs.lib.genAttrs supportedSystems (
7079
system:
7180
let
@@ -81,6 +90,11 @@
8190
strictDeps = true;
8291

8392
inherit (env) nativeBuildInputs buildInputs;
93+
94+
postInstall = ''
95+
# Wrap installed executables to include required CLI tools on PATH
96+
wrapProgram "$out/bin/mlpreview" --prefix PATH : "${env.pkgs.lib.makeBinPath env.buildInputsCli}"
97+
'';
8498
};
8599
}
86100
);
@@ -103,5 +117,12 @@
103117
};
104118
}
105119
);
120+
121+
in
122+
{
123+
inherit packages devShells;
124+
125+
overlays.default = f: p: { mlpreview = packages.${p.system}.default; };
126+
106127
};
107128
}

0 commit comments

Comments
 (0)