Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

KeyDefaultReason
Restarton-failureSystemd’s no means containers don’t auto-restart at all.
RestartSec5sSystemd’s 100ms paired with Restart= produces millisecond-scale restart loops.
TimeoutStartSec900sSystemd’s 90s is often too short for image pulls or cold-start workloads.
StartLimitBurst / StartLimitIntervalSec3 / 600sHard-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-generator at build time, rather than relying on the systemd generator at boot. The resulting package is added to systemd.packages.
  • Rootless containers are supported directly from the NixOS module by setting a uid per object, Home Manager is not required.
  • Quadlet keys are passed through verbatim using their original PascalCase names (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) or imageStream (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:

[ ]