From a74615ff3c1ac9dd1097b108aef21381a6d99c79 Mon Sep 17 00:00:00 2001 From: faukah Date: Wed, 3 Sep 2025 19:58:27 +0200 Subject: [PATCH 1/2] radicle: init module --- modules/services/radicle.mod.nix | 46 ++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 modules/services/radicle.mod.nix diff --git a/modules/services/radicle.mod.nix b/modules/services/radicle.mod.nix new file mode 100644 index 0000000..6460e7d --- /dev/null +++ b/modules/services/radicle.mod.nix @@ -0,0 +1,46 @@ +{ + config, + lib, + pkgs, + ... +}: +let + inherit (lib.lists) singleton; + inherit (lib.modules) mkIf; + inherit (lib.options) mkEnableOption; + inherit (lib.strings) toString; + port = toString 8776; + domain = "git.faukah.com"; + + cfg = config.modules.system.services.radicle; +in +{ + options.modules.system.services.radicle.enable = mkEnableOption "radicle"; + config.services.radicle = mkIf cfg.enable { + enable = false; + checkConfig = true; + privateKeyFile = "/etc/ssh/ssh_host_ed25519_key"; + publicKey = "/etc/ssh/ssh_host_ed25519_key.pub"; + httpd = { + enable = true; + listenPort = port; + listenAddress = "[::]"; + nginx = { + addSSL = true; + enableACME = true; + serverName = domain; + }; + }; + settings = { + node = { + alias = domain; + listen = singleton "[::]:${port}"; + externalAddresses = "${domain}:${port}"; + seedingPolicy = { + default = "block"; + scope = "all"; + }; + }; + }; + }; +} From 248985229728484a9efb35789e0d346fec536fd4 Mon Sep 17 00:00:00 2001 From: faukah Date: Thu, 4 Sep 2025 11:56:05 +0200 Subject: [PATCH 2/2] tower: configuration: enable radicle --- hosts/tower/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/tower/configuration.nix b/hosts/tower/configuration.nix index d652aca..dccae1c 100644 --- a/hosts/tower/configuration.nix +++ b/hosts/tower/configuration.nix @@ -34,6 +34,7 @@ }; services = { forgejo.enable = true; + radicle.enable = true; grafana.enable = true; prometheus.enable = true; };