diff --git a/clanModules/borgbackup/roles/client.nix b/clanModules/borgbackup/roles/client.nix index 96d6d1057..73a29f84a 100644 --- a/clanModules/borgbackup/roles/client.nix +++ b/clanModules/borgbackup/roles/client.nix @@ -5,7 +5,8 @@ ... }: let - instances = config.clan.inventory.services.borgbackup; + # Instances might be empty, if the module is not used via the inventory + instances = config.clan.inventory.services.borgbackup or { }; # roles = { ${role_name} :: { machines :: [string] } } allServers = lib.foldlAttrs ( acc: _instanceName: instanceConfig: diff --git a/clanModules/borgbackup/roles/server.nix b/clanModules/borgbackup/roles/server.nix index 2e37cf032..0e01aa293 100644 --- a/clanModules/borgbackup/roles/server.nix +++ b/clanModules/borgbackup/roles/server.nix @@ -4,9 +4,11 @@ let machineDir = clanDir + "/machines/"; inherit (config.clan.core) machineName; - instances = config.clan.inventory.services.borgbackup; - - # roles = { ${role_name} :: { machines :: [string] } } + # Instances might be empty, if the module is not used via the inventory + # + # Type: { ${instanceName} :: { roles :: Roles } } + # Roles :: { ${role_name} :: { machines :: [string] } } + instances = config.clan.inventory.services.borgbackup or { }; allClients = lib.foldlAttrs ( acc: _instanceName: instanceConfig: diff --git a/nixosModules/clanCore/inventory/interface.nix b/nixosModules/clanCore/inventory/interface.nix index ddddd9fd5..c625af548 100644 --- a/nixosModules/clanCore/inventory/interface.nix +++ b/nixosModules/clanCore/inventory/interface.nix @@ -48,6 +48,7 @@ let in { options.clan.inventory.services = lib.mkOption { + default = { }; description = '' Configuration for each inventory service.