mirror of
https://github.com/nix-community/home-manager.git
synced 2025-12-01 06:31:04 +01:00
podman: link dependent quadlets during build
podman's systemd generator can automatically resolve unit dependencies, so instead of us guessing these links to create them, we provide the sources during generation
This commit is contained in:
parent
4108ec3aa8
commit
81bf639da7
10 changed files with 96 additions and 91 deletions
|
|
@ -15,13 +15,13 @@ let
|
|||
pkgs.stdenv.mkDerivation {
|
||||
name = "home-${quadlet.resourceType}-${quadlet.serviceName}";
|
||||
|
||||
buildInputs = [ cfg.package ];
|
||||
|
||||
# dontUnpack = true;
|
||||
buildInputs = [ cfg.package ] ++ quadlet.dependencies;
|
||||
|
||||
unpackPhase = ''
|
||||
mkdir -p $out/quadlets
|
||||
${concatStringsSep "\n" (map (v: "cp ${v.out}/quadlets/${v.quadletData.serviceName}.${v.quadletData.resourceType} $out/quadlets") quadlet.dependencies)}
|
||||
${concatStringsSep "\n" (map (v:
|
||||
"ln -s ${v.out}/quadlets/${v.quadletData.serviceName}.${v.quadletData.resourceType} $out/quadlets")
|
||||
quadlet.dependencies)}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
|
@ -42,7 +42,6 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
# Create a derivation for each quadlet spec
|
||||
builtQuadlets = map buildPodmanQuadlet cfg.internal.quadletDefinitions;
|
||||
|
||||
accumulateUnitFiles = prefix: path: quadlet:
|
||||
|
|
@ -87,6 +86,9 @@ in {
|
|||
lib.mkIf (lib.length builtQuadlets >= 1)
|
||||
(lib.hm.dag.entryAfter [ "reloadSystemd" ] activationCleanupScript);
|
||||
|
||||
services.podman.internal.builtQuadlets = listToAttrs (map (pkg: { name = removePrefix "podman-" pkg.passthru.quadletData.serviceName; value = pkg; }) builtQuadlets);
|
||||
services.podman.internal.builtQuadlets = listToAttrs (map (pkg: {
|
||||
name = removePrefix "podman-" pkg.passthru.quadletData.serviceName;
|
||||
value = pkg;
|
||||
}) builtQuadlets);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue