nix/lib/wrappers.nix
atagen 4921973b9a amaan can't into kernel
do 400 pushups per cache miss idiot
2026-04-27 16:09:39 +10:00

20 lines
595 B
Nix

lib: pkgs:
let
wrap =
{ name, pkg, args ? [ ], envs ? { } }:
let
argsStr = lib.concatStringsSep " " (map (a: ''--add-flags "${a}"'') args);
envsStr = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: ''--set ${k} "${v}"'') envs);
in
pkgs.symlinkJoin {
inherit name;
paths = [ pkg ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = "wrapProgram $out/bin/${name} ${argsStr} ${envsStr}";
};
wrapXdg =
name: pkg: configDir:
wrap { inherit name pkg; envs = { XDG_CONFIG_HOME = configDir; }; };
in
{ inherit wrap wrapXdg; }