Something went wrong. Try again.
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778{ inputs, lib, config, pkgs, ...}:let inherit (config.aspectLib) all commonOverlays aspectsFor modulesFor resolve wrapperKey wrapperModule ;
hostPkgs = pkgs.appendOverlays commonOverlays;
hjem-lib = import "${inputs.hjem}/lib.nix" { inherit lib; pkgs = hostPkgs; };
portable = aspectName: let names = resolve [ aspectName ]; ev = lib.evalModules { specialArgs = { inherit hjem-lib; pkgs = hostPkgs; name = "portable"; osConfig = null; userEntry = null; }; modules = [ "${inputs.hjem}/modules/common/user.nix" inputs.hjem-rum.hjemModules.default { directory = "/var/empty"; } (wrapperModule names) ] ++ aspectsFor modulesFor.home names; }; in ev.config.wrapped.${wrapperKey aspectName};
withWrapper = builtins.filter (n: all.${n}.wrapper or null != null) (builtins.attrNames all); byKey = lib.groupBy wrapperKey withWrapper;
wrappers = lib.mapAttrs ( key: owners: if builtins.length owners > 1 then throw "wrapper: aspects ${toString owners} all export packages.${key}" else portable (builtins.head owners) ) byKey;in{ packages = wrappers;
checks.wrappers = pkgs.runCommand "check-wrappers" { } '' export HOME=/var/empty ${lib.concatMapStringsSep "\n" ( name: let p = wrappers.${name}; in '' echo "${name}: ${lib.getExe p} --version" ${lib.getExe p} --version >/dev/null '' ) (builtins.attrNames wrappers)} touch $out '';}