nixos/hercules-ci-agent: Set default labels

Changed files
+30 -3
nixos
modules
services
continuous-integration
hercules-ci-agent
+13 -2
nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix
···
# even shortly after the previous lookup. This *also* applies to the daemon.
narinfo-cache-negative-ttl = 0
'';
-
services.hercules-ci-agent.tomlFile =
-
format.generate "hercules-ci-agent.toml" cfg.settings;
+
services.hercules-ci-agent = {
+
tomlFile =
+
format.generate "hercules-ci-agent.toml" cfg.settings;
+
+
settings.labels = {
+
agent.source =
+
if options.services.hercules-ci-agent.package.highestPrio == (lib.modules.mkOptionDefault { }).priority
+
then "nixpkgs"
+
else lib.mkOptionDefault "override";
+
pkgs.version = pkgs.lib.version;
+
lib.version = lib.version;
+
};
+
};
};
}
+17 -1
nixos/modules/services/continuous-integration/hercules-ci-agent/default.nix
···
# Trusted user allows simplified configuration and better performance
# when operating in a cluster.
nix.trustedUsers = [ config.systemd.services.hercules-ci-agent.serviceConfig.User ];
-
services.hercules-ci-agent.settings.nixUserIsTrusted = true;
+
services.hercules-ci-agent = {
+
settings = {
+
nixUserIsTrusted = true;
+
labels =
+
let
+
mkIfNotNull = x: mkIf (x != null) x;
+
in
+
{
+
nixos.configurationRevision = mkIfNotNull config.system.configurationRevision;
+
nixos.release = config.system.nixos.release;
+
nixos.label = mkIfNotNull config.system.nixos.label;
+
nixos.codeName = config.system.nixos.codeName;
+
nixos.tags = config.system.nixos.tags;
+
nixos.systemName = mkIfNotNull config.system.name;
+
};
+
};
+
};
users.users.hercules-ci-agent = {
home = cfg.settings.baseDirectory;