summaryrefslogtreecommitdiff
path: root/modules/services/github-runner/default.nix
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2024-02-18 04:48:38 +0000
committerGitHub <noreply@github.com>2024-02-18 04:48:38 +0000
commit0e6857fa1d632637488666c08e7b02c08e3178f8 (patch)
treee6aa494d987aca229531b2cdda2231a5dbcf0742 /modules/services/github-runner/default.nix
parent44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd (diff)
parent21b92addaf58b3b8f9f3c21b482f97f96d58895a (diff)
Merge pull request #859 from yaxitech/github-runner
github-runners: init module
Diffstat (limited to 'modules/services/github-runner/default.nix')
-rw-r--r--modules/services/github-runner/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/modules/services/github-runner/default.nix b/modules/services/github-runner/default.nix
new file mode 100644
index 0000000..7937980
--- /dev/null
+++ b/modules/services/github-runner/default.nix
@@ -0,0 +1,37 @@
+{ config, lib, ... }:
+let
+ anyEnabled = lib.any (cfg: cfg.enable) (lib.attrValues config.services.github-runners);
+in
+{
+ imports = [
+ ./options.nix
+ ./config.nix
+ ];
+
+ config.assertions = lib.mkIf anyEnabled [
+ {
+ assertion = lib.elem "github-runner" config.users.knownGroups;
+ message = "set `users.knownGroups` to enable `github-runner` group";
+ }
+ {
+ assertion = lib.elem "github-runner" config.users.knownUsers;
+ message = "set `users.knownUsers` to enable `github-runner` user";
+ }
+ ];
+
+ config.users = lib.mkIf anyEnabled {
+ users."github-runner" = {
+ createHome = true;
+ uid = lib.mkDefault 533;
+ gid = lib.mkDefault config.users.groups.github-runner.gid;
+ home = lib.mkDefault "/var/lib/github-runners";
+ shell = "/bin/bash";
+ description = "GitHub Runner service user";
+ };
+
+ groups."github-runner" = {
+ gid = lib.mkDefault 533;
+ description = "GitHub Runner service user group";
+ };
+ };
+}