quadlet-nix
NixOS module for Quadlet / podman-systemd. Inspired by the excellent work of SEIAROTg, but rewritten from scratch. You can get started with the following minimal configuration:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
quadlet-nix = {
url = "github:mirkolenz/quadlet-nix/v1";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {nixpkgs, flocken, ...}: {
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
({pkgs, ...}: {
virtualisation.quadlet.enable = true;
virtualisation.quadlet.containers = {
hello-world = {
containerConfig.Image = "docker.io/library/hello-world:latest";
};
nginx = {
imageStream = pkgs.dockerTools.examples.nginxStream;
};
};
})
];
};
};
}
All available options are described in the documentation. You may also want to take a look at the tests for more examples.
Quoting values
For keys that hold KEY=VALUE assignments (e.g., Environment, Label, Annotation), use the attrset form so the entries are quoted automatically:
containerConfig.Environment = { TZ = "Europe/Berlin"; };
containerConfig.Label = { description = "My web server"; };
The same result can be expressed via the list form with lib.strings.toJSON, which is useful when an attrset cannot represent the value (e.g., duplicate keys):
containerConfig.Label = [ (lib.strings.toJSON "description=My web server") ];
All other values are written into the unit file verbatim.
Whitespace and other special characters are handled by Quadlet itself when it builds the resulting ExecStart= line, so no additional quoting is required.
Restart and rate-limit defaults
For long-running units (.container, .kube, .pod) the module sets a few [Service] / [Unit] keys as lib.mkDefault to replace systemd defaults that are unsafe for containers.
| Key | Default | Reason |
|---|---|---|
Restart | on-failure | Systemd’s no means containers don’t auto-restart at all. |
RestartSec | 5s | Systemd’s 100ms paired with Restart= produces millisecond-scale restart loops. |
TimeoutStartSec | 900s | Systemd’s 90s is often too short for image pulls or cold-start workloads. |
StartLimitBurst / StartLimitIntervalSec | 3 / 600s | Hard-fail after 3 restarts in 10 minutes so a broken unit doesn’t loop forever. |
The burst limit only fires when (TimeoutStartSec + RestartSec) × StartLimitBurst ≤ StartLimitIntervalSec, which holds for typical fast-starting services.
A unit that consistently hangs all the way to TimeoutStartSec will retry indefinitely because each attempt falls outside the rate-limit window.
Tighten TimeoutStartSec (or widen StartLimitIntervalSec) downstream when you want hung-start loops to hard-fail.
Comparison to SEIAROTg/quadlet-nix
The two implementations solve the same problem but make different trade-offs.
Where this version differs
- Unit files are produced inside a Nix derivation by invoking
podman-system-generator/podman-user-generatorat build time, rather than relying on the systemd generator at boot. The resulting package is added tosystemd.packages. - Rootless containers are supported directly from the NixOS module by setting a
uidper object, Home Manager is not required. - Quadlet keys are passed through verbatim using their original
PascalCasenames (e.g.,containerConfig.Image,containerConfig.PublishPort). The upstream Podman documentation applies directly and new Quadlet keys work without changes to this module. - Container images can be supplied as Nix packages via
imageFile(e.g.,pkgs.dockerTools.buildImage) orimageStream(e.g.,pkgs.dockerTools.streamLayeredImage). - Releases follow semantic versioning with version tags (e.g.,
v1) for stable pinning and the flake is structured with flake-parts. - Long-running units (
.container,.kube,.pod) ship with overridable restart and rate-limit settings.
Where the original may suit you better
- Each Quadlet key is exposed as a dedicated, individually typed and documented option (e.g.,
containerConfig.publishPorts : listOf str), giving you per-field type checking and inline help. - Per-key typing catches structural mistakes at eval time, e.g., rejecting
Exec = [ "a" "b" ]since Quadlet only honors the last line. - Longer track record and a more elaborate README with recipes and comparisons to other tools.
Core
virtualisation.quadlet.enable
Whether to enable quadlet.
Type: boolean
Default:
false
Example:
true
virtualisation.quadlet.autoUpdate.enable
Whether to enable quadlet auto update.
Type: boolean
Default:
false
Example:
true
virtualisation.quadlet.autoUpdate.startAt
The time to start the auto update
Type: string
Default:
"*-*-* 00:00:00"
Containers
virtualisation.quadlet.containers
The containers to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.containers.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.containers.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.containers.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.containers.<name>.containerConfig
The systemd container configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.imageFile
The image file to load before starting the service
Type: null or package
Default:
null
virtualisation.quadlet.containers.<name>.imageStream
The image stream to load before starting the service
Type: null or package
Default:
null
virtualisation.quadlet.containers.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.containers.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.containers.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.containers.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.containers.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.containers.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.containers.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.containers.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.containers.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.containers.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Networks
virtualisation.quadlet.networks
The networks to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.networks.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.networks.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.networks.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.networks.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.networks.<name>.networkConfig
The systemd network configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.networks.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.networks.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.networks.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.networks.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.networks.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.networks.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.networks.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.networks.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Pods
virtualisation.quadlet.pods
The pods to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.pods.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.pods.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.pods.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.pods.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.pods.<name>.podConfig
The systemd pod configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.pods.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.pods.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.pods.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.pods.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.pods.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.pods.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.pods.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.pods.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Kubes
virtualisation.quadlet.kubes
The kubes to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.kubes.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.kubes.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.kubes.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.kubes.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.kubeConfig
The systemd kube configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.kubes.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.kubes.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.kubes.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.kubes.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.kubes.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.kubes.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.kubes.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.kubes.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.kubes.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Volumes
virtualisation.quadlet.volumes
The volumes to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.volumes.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.volumes.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.volumes.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.volumes.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.volumes.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.volumes.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.volumes.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.volumes.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.volumes.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.volumes.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.volumes.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.volumes.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.volumes.<name>.volumeConfig
The systemd volume configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Builds
virtualisation.quadlet.builds
The builds to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.builds.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.builds.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.builds.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.builds.<name>.buildConfig
The systemd build configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.builds.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.builds.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.builds.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.builds.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.builds.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.builds.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.builds.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.builds.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.builds.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Images
virtualisation.quadlet.images
The images to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.images.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.images.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.images.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.images.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.imageConfig
The systemd image configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.images.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.images.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.images.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.images.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.images.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.images.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.images.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.images.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.images.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Artifacts
virtualisation.quadlet.artifacts
The artifacts to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.artifacts.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.artifacts.<name>.artifactConfig
The systemd artifact configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.artifacts.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.artifacts.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.artifacts.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.artifacts.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.uid
The user ID to run the service as.
Type: null or signed integer
Default:
null
Example:
1000
virtualisation.quadlet.artifacts.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.artifacts.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Core
virtualisation.quadlet.enable
Whether to enable quadlet.
Type: boolean
Default:
false
Example:
true
virtualisation.quadlet.autoUpdate.enable
Whether to enable quadlet auto update.
Type: boolean
Default:
false
Example:
true
virtualisation.quadlet.autoUpdate.startAt
The time to start the auto update
Type: string
Default:
"*-*-* 00:00:00"
Containers
virtualisation.quadlet.containers
The containers to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.containers.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.containers.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.containers.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.containers.<name>.containerConfig
The systemd container configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.imageFile
The image file to load before starting the service
Type: null or package
Default:
null
virtualisation.quadlet.containers.<name>.imageStream
The image stream to load before starting the service
Type: null or package
Default:
null
virtualisation.quadlet.containers.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.containers.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.containers.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.containers.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.containers.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.containers.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.containers.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.containers.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.containers.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.containers.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Networks
virtualisation.quadlet.networks
The networks to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.networks.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.networks.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.networks.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.networks.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.networks.<name>.networkConfig
The systemd network configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.networks.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.networks.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.networks.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.networks.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.networks.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.networks.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.networks.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.networks.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Pods
virtualisation.quadlet.pods
The pods to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.pods.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.pods.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.pods.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.pods.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.pods.<name>.podConfig
The systemd pod configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.pods.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.pods.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.pods.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.pods.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.pods.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.pods.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.pods.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.pods.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Kubes
virtualisation.quadlet.kubes
The kubes to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.kubes.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.kubes.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.kubes.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.kubes.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.kubeConfig
The systemd kube configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.kubes.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.kubes.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.kubes.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.kubes.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.kubes.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.kubes.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.kubes.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.kubes.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.kubes.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Volumes
virtualisation.quadlet.volumes
The volumes to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.volumes.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.volumes.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.volumes.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.volumes.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.volumes.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.volumes.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.volumes.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.volumes.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.volumes.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.volumes.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.volumes.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.volumes.<name>.volumeConfig
The systemd volume configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.volumes.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Builds
virtualisation.quadlet.builds
The builds to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.builds.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.builds.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.builds.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.builds.<name>.buildConfig
The systemd build configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.builds.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.builds.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.builds.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.builds.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.builds.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.builds.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.builds.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.builds.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.builds.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Images
virtualisation.quadlet.images
The images to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.images.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.images.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.images.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.images.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.imageConfig
The systemd image configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.images.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.images.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.images.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.images.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.images.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.images.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.images.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.images.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.images.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]
Artifacts
virtualisation.quadlet.artifacts
The artifacts to manage
Type: attribute set of (submodule)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.enable
Whether to enable the service.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.artifacts.<name>.aliases
The list of aliases for the systemd unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.artifacts.<name>.artifactConfig
The systemd artifact configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.autoStart
Whether to enable service auto-start.
Type: boolean
Default:
true
Example:
true
virtualisation.quadlet.artifacts.<name>.extraConfig
Additional systemd unit configuration
Type: attribute set of attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.name
The attribute name used to derive the other names
Type: string
Default:
"‹name›"
virtualisation.quadlet.artifacts.<name>.podmanName
The name of the podman object
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.quadletConfig
The systemd quadlet configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.rawConfig
Raw systemd unit configuration text
Type: null or strings concatenated with “\n”
Default:
null
virtualisation.quadlet.artifacts.<name>.ref
The reference of the podman object (i.e., the filename)
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.requiredBy
The list of systemd targets that require the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.artifacts.<name>.serviceConfig
The systemd service configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.serviceName
The name of the systemd service (without the .service suffix)
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.text
The generated systemd unit file text
Type: string (read only)
virtualisation.quadlet.artifacts.<name>.unitConfig
The systemd unit configuration
Type: attribute set of (systemd option)
Default:
{ }
virtualisation.quadlet.artifacts.<name>.upheldBy
The list of systemd targets that uphold the unit
Type: list of string
Default:
[ ]
virtualisation.quadlet.artifacts.<name>.wantedBy
The list of systemd targets to install the unit into
Type: list of string
Default:
[ ]