diff --git a/hosts/nixedo/homelab.nix b/hosts/nixedo/homelab.nix index 3e07b86b..16854bf8 100644 --- a/hosts/nixedo/homelab.nix +++ b/hosts/nixedo/homelab.nix @@ -17,6 +17,8 @@ cloudflared.tunnelId = "e1514105-327f-4984-974e-e2fbaca76466"; }; + gitea-actions-runner.enable = true; + homepage-dashboard = { enable = true; diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index da3fce5d..b1188b61 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -3,5 +3,6 @@ ./cli ./core ./desktop + ./homelab ]; } diff --git a/modules/nixos/homelab/default.nix b/modules/nixos/homelab/default.nix new file mode 100644 index 00000000..fe3a7066 --- /dev/null +++ b/modules/nixos/homelab/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./gitea-actions-runner.nix + ]; +} diff --git a/modules/nixos/homelab/gitea-actions-runner.nix b/modules/nixos/homelab/gitea-actions-runner.nix new file mode 100644 index 00000000..2e961eef --- /dev/null +++ b/modules/nixos/homelab/gitea-actions-runner.nix @@ -0,0 +1,50 @@ +{ + config, + inputs, + lib, + pkgs, + ... +}: + +with lib; + +let + cfg = homelab.services.${service}; + homelab = config.features.homelab; + service = "gitea-actions-runner"; +in +{ + options.features.homelab.services.${service} = { + enable = mkEnableOption "Enable ${service}"; + }; + + config = mkIf cfg.enable { + services.${service}.instances.default = { + enable = true; + + hostPackages = with pkgs; [ + bash + coreutils + curl + gawk + gitMinimal + gnused + nix + nodejs + wget + ]; + + labels = [ + "nixos:host" + ]; + + name = config.networking.hostName; + tokenFile = config.age.secrets.forgejo-runner-token.path; + url = config.services.forgejo.settings.server.ROOT_URL; + }; + + age.secrets = { + forgejo-runner-token.file = "${inputs.self}/secrets/forgejo-runner-token.age"; + }; + }; +} diff --git a/secrets/forgejo-runner-token.age b/secrets/forgejo-runner-token.age index 4a190f4f..78f0fe94 100644 --- a/secrets/forgejo-runner-token.age +++ b/secrets/forgejo-runner-token.age @@ -1,17 +1,17 @@ age-encryption.org/v1 --> ssh-ed25519 IsVD3g mB4VczPxs3QfwaBzmQ0M11i2DvLiWuUFg0lxOc2SSxk -P7HviMd5+e8pDRTKfWhyqN8Su7qtFLT3fINy4z1Iz2Y +-> ssh-ed25519 IsVD3g VZRQKGdeV/lghsgN7xSWAuxOsThIU4cpBPEA5jRU/Ro +rlVrONsaGdSAW7jk04RbmxqBRr1nIpZi/QYJdhZNF8A -> ssh-rsa +vTWQw -QXgFMe0rRO6exSgeztsAFdF5CMCWNiutiYSX5AajAlWHf3or65xCJVJO1EEZrQEK -u5BQXzS/iVxnjI+oEyHhID6J3rIiRSVlmA+BNFksh0Fh4ihSq8Iqdwp7TjkX5oas -RWVzj5dIqTwhtXwcFYbX5Lj68UMZtHjRp8PLAa9WtV1zbU5R3000ofcDFXnZrHW9 -q8FD50EiA7S0ORHgMUlZPAXPU4mIxjs7Qj6QwL55md4ZExdAy8b+srGGSMZlO8Zo -7gn2B778LAVzaiibtKN7Tc/+AX23QEDPJzkgUTPL4AbicMO8QS9fHDurDRDs0p9z -cnWra1YhFujzD2z+cW/Tmt23dv9Zs11wEZ2pDK3T2Fi0mIfTZWkkoYz4rrlW9yJm -Ag9XAJvJS1S4BWeT1UVUE7Z641t2Qsm+5isdRn0JOJ31pLBUE9XbemBmLQGxPhOp -sYjEk5ldMY1U/nO7KDvot42uE6LcLF2PvRFUAqfwCG+Zu285EfSP1ic4AiyRBy/I -gnXXeXCHou5uCyN3SpxwTrEen6LBuMbLAeOArXgSqUj/CGSYQJug2b7EPxM4m0+/ -axNzdt6Ytsr+9zfSrS6GCKgcrJtAmooptyustj+Zpr9sC7gtSZeLBWbvw4uVcmPt -HabHNjE4Rayjwa+ILqrTLzK538dEK2ta1Kv4ebTAYgU ---- ibayDVd69gBfWFeA9t+3f1zcB2fu1xzRVwsxmwwAPIM -jgz{dDo0h}žA۳ݖ>-j!ѬQePl5mwInEvvIHn \ No newline at end of file +igGVvcUh30WG4jDQcXL906pmEk6NCDt0Fl0XC6q3ZuAeJHK1wZ70XKPTehb1JM4U +YSb5vsVW0J6Fv9kWbpfuSGo/eDoLwm45bP5OT+L3hThG8VRYlt4GuPt+BTdxBfcA +sLiQNBo/c+NeozLwsx39uwGZlBPXEiCWy2GR0tBpl97mpQgyLIvRleRMxzTtfN7Y +vreEbsOqo4kHMsAykGoOwMDVJpGArJBLNlm5cd9I0iHOvk9ugu919tNeiZ4vHyye +QKuoeAE24wqW/QXj98sFxz9SHi9UHJpqLMsgh2tCfvG6J65DItBzhWi7OKlgTUjy +7nhNOGMHtc4XBR/kjdt4z55ryb7t5DPdy6VIurJ3YAcZRm44o4LusHLw7llcNa20 +bXTiwZaICwK6Zi3deAASK4+DgbvThuKa6Ir0vaEK7Mik39ZanrIXDoFBv80ufBiq +tsFZex7Z/ZqqDR/WPnQKF92tz+Kqs7Jkka60ajYwkDdS6WnkOFPpKPJKayfutdF1 +9r6jzBUZEZ1E9avShow8ccw/FVhSnDzl9851TXZRyDrqFJ26s7484zHV9KpHPflh +qveux0fqB65vGl2ZvcsRawGVOw8G567s2HED6tuArdU98eEGC5Z/UdXPUYGpUSCK +zB9AQNtdS5IHY9CNKb7YqJFtvyaA7wlrd9Csp0UWVSY +--- i4UTmANM0HP3f9MKXDJZKyP2lod+E2dK8sNzHcm3y/o +ZpBl@Dp('u.X TO"Rrr=|ޮ:SQCDCb~V2 \ No newline at end of file