nix/profiles/indico.nix

64 lines
1.4 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.indico;
in
{
imports = [
../modules/indico.nix
];
networking.firewall.allowedTCPPorts = [ 80 443 ];
age.secrets = {
indico-ldap-bind-password = {
file = ../secrets/indico-ldap-bind-password.age;
};
indico-mail-password = {
file = ../secrets/indico-mail-password.age;
};
indico-secret-key = {
file = ../secrets/indico-secret-key.age;
};
};
backups = {
directories = [ cfg.stateDir ];
postgresqlDatabases = [ cfg.user ];
};
services.indico = {
enable = true;
nginx.domain = "events.federez.net";
email = {
noReply = "indico@federez.net";
support = "admin@federez.net";
publicSupport = "bureau@federez.net";
smtp = {
host = "dodecagon.federez.net";
login = "indico";
passwordFile = config.age.secrets.indico-mail-password.path;
};
};
ldap = {
uri = "ldaps://ldap.federez.net";
bindDN = "cn=indico,ou=service-users,dc=federez,dc=net";
bindPasswordFile = config.age.secrets.indico-ldap-bind-password.path;
userBaseDN = "cn=Utilisateurs,dc=federez,dc=net";
userFilter = "(objectClass=inetOrgPerson)";
groupBaseDN = "ou=posix,ou=groups,dc=federez,dc=net";
groupFilter = "(objectClass=posixGroup)";
memberOf = "manualMemberOf";
gid = "cn";
};
secretKeyFile = config.age.secrets.indico-secret-key.path;
};
}