{ config, lib, pkgs, ... }: { services.nginx.virtualHosts."node.radicle.stuebinm.eu" = { enableACME = true; forceSSL = true; locations."/".proxyPass = "http://localhost:4444"; }; services.nginx.virtualHosts."radicle.stuebinm.eu" = { enableACME = true; forceSSL = true; locations."/nodes".tryFiles = "/index.html =404"; root = pkgs.radicle-interface.override { config = { nodes = { defaultHttpdPort = 443; defaultLocalHttpdPort = 8080; defaultHttpdScheme = "https"; defaultNodePort = 8776; pinned = [ { baseUrl = { hostname = "node.radicle.stuebinm.eu"; port = 443; scheme = "https"; }; } ]; }; reactions = ["👍" "👎" "😄" "🎉" "🙁" "🚀" "👀"]; projects.pinned = [ { name = "radicle-interface"; id = "rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; baseUrl = { hostname = "seed.radicle.xyz"; port = 443; scheme = "https"; }; } ]; }; }; }; systemd.services.radicle-httpd = { enable = true; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "simple"; Restart = "always"; MemoryMax = "1G"; User = "radicle"; Group = "radicle"; }; environment.RAD_HOME = "/var/lib/radicle"; path = [ pkgs.heartwood pkgs.gitMinimal ]; script = '' cd /var/lib/radicle radicle-httpd --listen 0.0.0.0:4444; ''; }; users.users.radicle = { group = "radicle"; isSystemUser = true; }; users.groups.radicle = {}; environment.systemPackages = [ pkgs.heartwood ]; }