# Sourcehut configuration # Copyright (C) 2022 Nguyễn Gia Phong # # This file is part of loang configuration. # # Loang configuration is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Loang configuration is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with loang configuration. If not, see . { config, pkgs, ... }: let domain = config.networking.domain; in { services = { postfix = { enable = true; domain = domain; }; sourcehut = { enable = true; meta.enable = true; nginx = { enable = true; virtualHost.enableACME = true; }; postgresql.enable = true; postfix.enable = true; redis.enable = true; settings = { mail = { pgp-key-id = "2D354398A720461F81C2A65A9B5A95C1B7B9CE8F"; pgp-privkey = "/var/lib/sourcehut/private.pgp"; pgp-pubkey = "/var/lib/sourcehut/public.pgp"; smtp-from = "sr.ht@${domain}"; }; "meta.sr.ht".origin = "https://hut.${domain}"; "sr.ht" = { environment = "production"; global-domain = domain; network-key = "/var/lib/sourcehut/network.key"; origin = "https://hub.${domain}"; owner-email = config.security.acme.defaults.email; owner-name = "Nguyễn Gia Phong"; service-key = "/var/lib/sourcehut/service.key"; }; webhooks.private-key = "/var/lib/sourcehut/webhook.key"; }; }; }; }