82 lines
2 KiB
Nix
82 lines
2 KiB
Nix
# vim: tabstop=2 shiftwidth=2 expandtab
|
|
let
|
|
base-domain = "005540.xyz";
|
|
fqdn = "sourcehut.${base-domain}";
|
|
in
|
|
{
|
|
services.sourcehut = {
|
|
enable = true;
|
|
meta = {
|
|
enable = true;
|
|
};
|
|
git = {
|
|
enable = true;
|
|
};
|
|
nginx.enable = true;
|
|
postgresql.enable = true;
|
|
redis.enable = true;
|
|
settings = {
|
|
"sr.ht" = {
|
|
environment = "production";
|
|
site-blurb = "logistic-bot's forge";
|
|
global-domain = fqdn;
|
|
origin = "https://${fqdn}";
|
|
network-key = "/etc/nixos/secrets/sourcehut/network.key";
|
|
service-key = "/etc/nixos/secrets/sourcehut/service.key";
|
|
};
|
|
"meta.sr.ht" = {
|
|
onboarding-redirect = "https://meta.${fqdn}";
|
|
origin = "https://meta.${fqdn}";
|
|
};
|
|
"git.sr.ht" = {
|
|
oauth-client-id = "";
|
|
oauth-client-secret = "/etc/nixos/secrets/sourcehut/git.oauth";
|
|
origin = "https://git.${fqdn}";
|
|
};
|
|
"mail" = {
|
|
pgp-key-id = "/etc/nixos/secrets/sourcehut/mail.key.id";
|
|
pgp-privkey = "/etc/nixos/secrets/sourcehut/mail.key";
|
|
pgp-pubkey = "/etc/nixos/secrets/sourcehut/mail.key.pub";
|
|
smtp-from = "mail@${fqdn}";
|
|
};
|
|
webhooks.private-key = "/etc/nixos/secrets/sourcehut/webhook.key";
|
|
};
|
|
};
|
|
|
|
security.acme = {
|
|
certs.${base-domain}.extraDomainNames = [
|
|
"${fqdn}"
|
|
"meta.${fqdn}"
|
|
"git.${fqdn}"
|
|
];
|
|
acceptTerms = true;
|
|
defaults = {
|
|
email = "khais.colin+letsencrypt@gmail.com";
|
|
dnsProvider = "namecheap";
|
|
};
|
|
};
|
|
|
|
services.nginx = {
|
|
enable = true;
|
|
recommendedTlsSettings = true;
|
|
recommendedOptimisation = true;
|
|
recommendedGzipSettings = true;
|
|
recommendedProxySettings = true;
|
|
virtualHosts = {
|
|
"${base-domain}" = {
|
|
enableACME = true;
|
|
};
|
|
"${fqdn}" = {
|
|
enableACME = true;
|
|
};
|
|
"meta.${fqdn}" = {
|
|
enableACME = true;
|
|
};
|
|
"git.${fqdn}" = {
|
|
enableACME = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
services.postgresql.enable = true;
|
|
}
|