Skip to content

importer

Convenient, structured module imports for hosts.

Utility

The importer module allows users to configure importing modules in a flexible and structured way. It exposes the extraModules functionality of the inventory, without any added configuration.

Usage:

inventory.instances = {

  zone1 = {
    module.name = "@clan/importer";
    roles.default.tags = [ "zone1" ];
    roles.default.extraModules = [ "modules/zone1.nix" ];
  };

  base = {
    module.name = "@clan/importer";
    roles.default.tags = [ "all" ];
    roles.default.extraModules = [ "modules/base.nix" ];
  };

};

This will import the module modules/base.nix to all machines that have the all tag, which by default is every machine managed by the clan. And also import for all machines tagged with zone1 the module at modules/zone1.nix.


Roles

The importer module has the following roles:

  • default This role has no configuration