nixos-config/modules/gitea.nix
2022-11-24 18:22:26 +01:00

69 lines
1.3 KiB
Nix

{ lib, ... }:
let
domain = "dev.mc-fucker.cool";
gitea_port = "3333";
gitea_db = "gitea";
in
{
services.gitea = {
enable = true;
domain = "${domain}";
rootUrl = "https://${domain}";
httpPort = (lib.strings.toInt gitea_port);
database = {
createDatabase = false;
host = "localhost";
type = "postgres";
port = 5432;
name = gitea_db;
passwordFile = /etc/nixos/keys/gitea-dbpassword;
};
settings = {
service = {
REGISTER_MANUAL_CONFIRM = true;
};
ui = {
DEFAULT_THEME = "arc-green";
#THEMES = "gitea-modern";
};
};
};
services.postgresql = {
ensureDatabases = [ gitea_db ];
ensureUsers = [
{
name = gitea_db;
ensurePermissions = {
"DATABASE ${gitea_db}" = "ALL PRIVILEGES";
};
}
];
};
services.postgresqlBackup.databases = [
gitea_db
];
services.nginx.virtualHosts."${domain}" = {
forceSSL = true;
enableACME = true;
locations = {
"/" = {
proxyPass = "http://localhost:${gitea_port}";
};
};
extraConfig = ''
access_log /var/log/nginx/${domain}_access.log;
error_log /var/log/nginx/${domain}_error.log;
'';
};
}
# vim: set et ts=2 sw=2 ai: