diff options
| author | Seth Flynn <[email protected]> | 2025-02-09 15:08:24 -0500 |
|---|---|---|
| committer | Seth Flynn <[email protected]> | 2025-02-09 15:08:24 -0500 |
| commit | f8025915187da6130530a089add5a1658e8f1924 (patch) | |
| tree | 1e563d09eaaec43c1cb550744a68369369ad2297 | |
| parent | 44ff26bb67ccbff0121da82072ac527989ac3640 (diff) | |
nixos/forgejo: add robots.txt
| -rw-r--r-- | flake.lock | 15 | ||||
| -rw-r--r-- | flake.nix | 6 | ||||
| -rw-r--r-- | modules/nixos/mixins/forgejo.nix | 19 |
3 files changed, 39 insertions, 1 deletions
@@ -43,6 +43,20 @@ "type": "github" } }, + "codeberg-infra": { + "flake": false, + "locked": { + "lastModified": 1738600070, + "narHash": "sha256-bx/PifD43unF++cMyd/IsW32GGBJltF9QrtqsYMo/GA=", + "rev": "be1458a9568757e36652060633899947e9e7d200", + "type": "tarball", + "url": "https://codeberg.org/api/v1/repos/Codeberg-Infrastructure/build-deploy-forgejo/archive/be1458a9568757e36652060633899947e9e7d200.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://codeberg.org/Codeberg-Infrastructure/build-deploy-forgejo/archive/codeberg-10.tar.gz" + } + }, "crane": { "locked": { "lastModified": 1731098351, @@ -433,6 +447,7 @@ "inputs": { "agenix": "agenix", "catppuccin": "catppuccin", + "codeberg-infra": "codeberg-infra", "determinate": "determinate", "flake-parts": "flake-parts", "getchpkgs": "getchpkgs", @@ -64,6 +64,12 @@ }; }; + # Use their robots.txt + codeberg-infra = { + url = "https://codeberg.org/Codeberg-Infrastructure/build-deploy-forgejo/archive/codeberg-10.tar.gz"; + flake = false; + }; + determinate = { url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1"; inputs = { diff --git a/modules/nixos/mixins/forgejo.nix b/modules/nixos/mixins/forgejo.nix index 25f2171..a897bfb 100644 --- a/modules/nixos/mixins/forgejo.nix +++ b/modules/nixos/mixins/forgejo.nix @@ -1,7 +1,14 @@ -{ config, lib, ... }: +{ + config, + lib, + inputs, + ... +}: let forgejoCfg = config.services.forgejo; + + robotsTxtPath = forgejoCfg.stateDir + "/custom/public/robots.txt"; in { @@ -46,6 +53,16 @@ in proxyPass = "http://unix:${forgejoCfg.settings.server.HTTP_ADDR}"; }; }; + + systemd.tmpfiles.settings."forgejo-settings" = { + ${robotsTxtPath}."L+" = { + argument = inputs.codeberg-infra + "/etc/gitea/public/robots.txt"; + }; + + ${dirOf robotsTxtPath}.d = { + inherit (forgejoCfg) user group; + }; + }; }) ]; } |
