From c16c239724e9de50787ba6b793f603049dfe4e22 Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Tue, 3 Sep 2024 21:06:41 -0300 Subject: [PATCH] micro.wrapper: init --- pkgs/by-name/mi/micro/package.nix | 1 + pkgs/by-name/mi/micro/wrapper.nix | 33 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/by-name/mi/micro/wrapper.nix diff --git a/pkgs/by-name/mi/micro/package.nix b/pkgs/by-name/mi/micro/package.nix index 2e678546b456..8f2bb8488db3 100644 --- a/pkgs/by-name/mi/micro/package.nix +++ b/pkgs/by-name/mi/micro/package.nix @@ -63,6 +63,7 @@ let inherit callPackage; directory = ./tests; }; + wrapper = callPackage ./wrapper.nix { micro = self; }; }; meta = { diff --git a/pkgs/by-name/mi/micro/wrapper.nix b/pkgs/by-name/mi/micro/wrapper.nix new file mode 100644 index 000000000000..1455fb44c447 --- /dev/null +++ b/pkgs/by-name/mi/micro/wrapper.nix @@ -0,0 +1,33 @@ +{ + lib, + micro, + makeWrapper, + symlinkJoin, + # configurable options + extraPackages ? [ ], +}: + +symlinkJoin { + name = "micro-wrapped-${micro.version}"; + inherit (micro) pname version outputs; + + nativeBuildInputs = [ makeWrapper ]; + + paths = [ micro ]; + + postBuild = '' + ${lib.concatMapStringsSep "\n" ( + output: "ln --verbose --symbolic --no-target-directory ${micro.${output}} \$${output}" + ) (lib.remove "out" micro.outputs)} + + pushd $out/bin + for f in *; do + rm $f + makeWrapper ${micro}/bin/$f $f \ + --prefix PATH ":" "${lib.makeBinPath extraPackages}" + done + popd + ''; + + meta = micro.meta; +}