summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock15
-rw-r--r--flake.nix6
-rw-r--r--modules/nixos/mixins/forgejo.nix19
3 files changed, 39 insertions, 1 deletions
diff --git a/flake.lock b/flake.lock
index 2e0a76a..c38d16c 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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",
diff --git a/flake.nix b/flake.nix
index 490f8b7..11301c5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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;
+ };
+ };
})
];
}