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
|
|
@ -7,7 +7,7 @@ let
|
|||
|
||||
createQuadletSource = name: buildDef:
|
||||
let
|
||||
buildConfig = podman-lib.deepMerge {
|
||||
quadlet = podman-lib.deepMerge {
|
||||
Build = {
|
||||
AuthFile = buildDef.authFile;
|
||||
Environment = buildDef.environment;
|
||||
|
|
@ -30,21 +30,26 @@ let
|
|||
};
|
||||
Unit = { Description = buildDef.description; };
|
||||
} buildDef.extraConfig;
|
||||
in ''
|
||||
# Automatically generated by home-manager for podman build configuration
|
||||
# DO NOT EDIT THIS FILE DIRECTLY
|
||||
#
|
||||
# ${name}.build
|
||||
${podman-lib.toQuadletIni buildConfig}
|
||||
'';
|
||||
in {
|
||||
attrs = quadlet;
|
||||
text = ''
|
||||
# Automatically generated by home-manager for podman build configuration
|
||||
# DO NOT EDIT THIS FILE DIRECTLY
|
||||
#
|
||||
# ${name}.build
|
||||
${podman-lib.toQuadletIni quadlet}
|
||||
'';
|
||||
};
|
||||
|
||||
toQuadletInternal = name: buildDef: {
|
||||
assertions = podman-lib.buildConfigAsserts name buildDef.extraConfig;
|
||||
serviceName =
|
||||
"podman-${name}"; # quadlet service name: 'podman-<name>-build.service
|
||||
source = podman-lib.removeBlankLines (createQuadletSource name buildDef);
|
||||
resourceType = "build";
|
||||
};
|
||||
toQuadletInternal = name: buildDef:
|
||||
let src = createQuadletSource name buildDef;
|
||||
in {
|
||||
assertions = podman-lib.buildConfigAsserts name buildDef.extraConfig;
|
||||
serviceName =
|
||||
"podman-${name}"; # generated service name: 'podman-<name>-build.service
|
||||
source = podman-lib.removeBlankLines src.text;
|
||||
resourceType = "build";
|
||||
};
|
||||
in let
|
||||
buildDefinitionType = types.submodule ({ name, ... }: {
|
||||
options = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue