lol
1{ cri-o-unwrapped
2, runCommand
3, makeWrapper
4, lib
5, extraPackages ? []
6, runc # Default container runtime
7, conntrack-tools
8, crun # Container runtime (default with cgroups v2 for podman/buildah)
9, conmon # Container runtime monitor
10, util-linux # nsenter
11, iptables
12}:
13
14let
15 binPath = lib.makeBinPath ([
16 runc
17 conntrack-tools
18 crun
19 conmon
20 util-linux
21 iptables
22 ] ++ extraPackages);
23
24in runCommand cri-o-unwrapped.name {
25 name = "${cri-o-unwrapped.pname}-wrapper-${cri-o-unwrapped.version}";
26 inherit (cri-o-unwrapped) pname version passthru;
27
28 preferLocalBuild = true;
29
30 meta = builtins.removeAttrs cri-o-unwrapped.meta [ "outputsToInstall" ];
31
32 outputs = [
33 "out"
34 "man"
35 ];
36
37 nativeBuildInputs = [
38 makeWrapper
39 ];
40
41} ''
42 ln -s ${cri-o-unwrapped.man} $man
43
44 mkdir -p $out/bin
45 ln -s ${cri-o-unwrapped}/etc $out/etc
46 ln -s ${cri-o-unwrapped}/share $out/share
47
48 for p in ${cri-o-unwrapped}/bin/*; do
49 makeWrapper $p $out/bin/''${p##*/} \
50 --prefix PATH : ${binPath}
51 done
52''