server-config/services/postgresql.nix

30 lines
575 B
Nix

{
pkgs,
config,
username,
service_configs,
lib,
...
}:
{
imports = [
(lib.serviceMountDeps "postgresql" [ config.services.postgresql.dataDir ])
(lib.serviceDependZpool "postgresql" service_configs.zpool_ssds)
];
services.postgresql = {
enable = true;
package = pkgs.postgresql_16;
dataDir = service_configs.postgres.dataDir;
};
systemd.tmpfiles.rules = [
# postgresql requires 0700
"d ${config.services.postgresql.dataDir} 0700 postgresql postgresql"
];
users.users.${username}.extraGroups = [
"postgresql"
];
}