mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
22 lines
904 B
Nix
22 lines
904 B
Nix
{ config, lib, pkgs, confLib, ... }:
|
|
let
|
|
inherit (confLib.gen { name = "postgresql"; port = 3254; }) serviceName;
|
|
postgresVersion = 14;
|
|
postgresDirPrefix = if config.swarselsystems.isCloud then "/var/lib" else "/Vault/data";
|
|
in
|
|
{
|
|
options.swarselmodules.server.${serviceName} = lib.mkEnableOption "enable ${serviceName} on server";
|
|
config = lib.mkIf config.swarselmodules.server.${serviceName} {
|
|
services = {
|
|
${serviceName} = {
|
|
enable = true;
|
|
package = pkgs."postgresql_${builtins.toString postgresVersion}";
|
|
dataDir = "${postgresDirPrefix}/${serviceName}/${builtins.toString postgresVersion}";
|
|
};
|
|
};
|
|
environment.persistence."/persist".directories = lib.mkIf (config.swarselsystems.isImpermanence && config.swarselsystems.isCloud) [
|
|
{ directory = "/var/lib/postgresql"; user = "postgres"; group = "postgres"; mode = "0750"; }
|
|
];
|
|
|
|
};
|
|
}
|