servers/machines/lebesgue/config/configuration.nix

102 lines
2.7 KiB
Nix
Raw Normal View History

2025-02-03 13:00:31 -06:00
{
config,
lib,
pkgs,
...
2026-02-24 00:00:35 -08:00
}:
{
2025-02-03 13:00:31 -06:00
foehammer = {
users.admin = {
enable = true;
hashedPasswordFile = config.sops.secrets.admin-password.path;
};
2025-02-03 18:10:01 -06:00
2025-07-14 00:40:10 -05:00
services.goatcounter = {
enable = true;
};
2025-12-28 20:49:16 -06:00
services.forgejo = {
enable = true;
domain = "forge.foehammer.me";
2025-12-28 21:01:24 -06:00
ssh-domain = "lebesgue";
2025-12-28 20:49:16 -06:00
};
2025-12-31 00:28:39 -06:00
services.authelia = {
enable = true;
domain = "foehammer.me";
url = "https://auth.foehammer.me";
jwtSecretFile = config.sops.secrets.authelia-jwtsecret.path;
userDbFile = config.sops.secrets.authelia-users.path;
# oidcIssuerPrivateKeyFile = config.sops.secrets.authelia-oidc-privkey.path;
# oidcHmacSecretFile = config.sops.secrets.authelia-oidc-hmac.path;
sessionSecretFile = config.sops.secrets.authelia-session-secret.path;
storageEncryptionKeyFile = config.sops.secrets.authelia-storage-encryption.path;
2025-12-31 22:54:03 -06:00
ldap = {
addr = "ldap://localhost:${toString config.foehammer.services.lldap.ldap_port}";
baseDN = config.foehammer.services.lldap.base_dn;
user = "UID=authelia,OU=people,${config.foehammer.services.lldap.base_dn}";
passwordFile = config.sops.secrets.authelia-lldap-password.path;
};
2025-12-31 00:28:39 -06:00
};
2026-02-24 14:16:03 -08:00
services.continuwuity = {
enable = false;
domain = "matrix.foehammer.me";
signups = false;
allowEncryption = false;
ldap = {
addr = "ldap://localhost:${toString config.foehammer.services.lldap.ldap_port}";
baseDN = config.foehammer.services.lldap.base_dn;
user = "UID=authelia,OU=people,${config.foehammer.services.lldap.base_dn}";
passwordFile = config.sops.secrets.continuwuity-ldap-password.path;
};
};
services.lldap = {
enable = true;
url = "https://lldap.foehammer.me";
2025-12-31 22:54:03 -06:00
base_dn = "DC=foehammer,DC=me";
adminUserPasswordFile = config.sops.secrets.lldap-admin-password.path;
};
2025-02-03 18:10:01 -06:00
services.vaultwarden = {
enable = true;
domain = "https://passwords.foehammer.me";
signups = false;
envPath = config.sops.secrets.vaultwarden-env.path;
};
2025-02-03 13:00:31 -06:00
backups.restic = {
enable = true;
repositoryFile = config.sops.secrets.restic-repository.path;
environmentFile = config.sops.secrets.restic-env.path;
passwordFile = config.sops.secrets.restic-password.path;
2026-02-24 00:00:35 -08:00
paths = [
"/var/lib/vaultwarden"
"/var/lib/authelia"
"/var/lib/forgejo"
];
};
tailscale = {
enable = true;
authKeyFile = config.sops.secrets.tskey.path;
};
2025-02-03 13:00:31 -06:00
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
i18n.defaultLocale = "en_US.UTF-8";
2026-02-24 00:00:35 -08:00
networking.firewall.allowedTCPPorts = [ 22 ];
2025-02-03 13:00:31 -06:00
system.stateVersion = "24.11";
}