0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-19 16:40:32 +03:00

nixos/postgresql: deduplicate postgresql and use cfg.finalPackage

This commit is contained in:
Kamil Monicz 2025-07-03 11:57:19 +02:00
parent ec2006affb
commit abc5cff372
No known key found for this signature in database
GPG key ID: F9FB19F1C1DC9C23

View file

@ -43,16 +43,6 @@ let
cfg = config.services.postgresql;
# ensure that
# services.postgresql = {
# enableJIT = true;
# package = pkgs.postgresql_<major>;
# };
# works.
basePackage = if cfg.enableJIT then cfg.package.withJIT else cfg.package.withoutJIT;
postgresql = if cfg.extensions == [ ] then basePackage else basePackage.withPackages cfg.extensions;
toStr =
value:
if true == value then
@ -72,13 +62,13 @@ let
);
configFileCheck = pkgs.runCommand "postgresql-configfile-check" { } ''
${cfg.package}/bin/postgres -D${configFile} -C config_file >/dev/null
${cfg.finalPackage}/bin/postgres -D${configFile} -C config_file >/dev/null
touch $out
'';
groupAccessAvailable = versionAtLeast cfg.finalPackage.version "11.0";
extensionNames = map getName postgresql.installedExtensions;
extensionNames = map getName cfg.finalPackage.installedExtensions;
extensionInstalled = extension: elem extension extensionNames;
in
@ -143,7 +133,18 @@ in
finalPackage = mkOption {
type = types.package;
readOnly = true;
default = postgresql;
default =
let
# ensure that
# services.postgresql = {
# enableJIT = true;
# package = pkgs.postgresql_<major>;
# };
# works.
withJit = if cfg.enableJIT then cfg.package.withJIT else cfg.package.withoutJIT;
withJitAndPackages = if cfg.extensions == [ ] then withJit else withJit.withPackages cfg.extensions;
in
withJitAndPackages;
defaultText = "with config.services.postgresql; package.withPackages extensions";
description = ''
The postgresql package that will effectively be used in the system.