Unverified Commit 4c092f5b authored by Maximilian Bosch's avatar Maximilian Bosch Committed by GitHub
Browse files

Merge: nixos/postgresql: Add finalPackage attribute (#364261)

parents 0a324bb3 0bdb7a72
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ let
    touch $out
  '';

  groupAccessAvailable = versionAtLeast postgresql.version "11.0";
  groupAccessAvailable = versionAtLeast cfg.finalPackage.version "11.0";

  extensionNames = map getName postgresql.installedExtensions;
  extensionInstalled = extension: elem extension extensionNames;
@@ -113,6 +113,17 @@ in
        example = "postgresql_15";
      };

      finalPackage = mkOption {
        type = types.package;
        readOnly = true;
        default = postgresql;
        defaultText = "with config.services.postgresql; package.withPackages extensions";
        description = ''
          The postgresql package that will effectively be used in the system.
          It consists of the base package with plugins applied to it.
        '';
      };

      checkConfig = mkOption {
        type = types.bool;
        default = true;
@@ -583,7 +594,7 @@ in

    users.groups.postgres.gid = config.ids.gids.postgres;

    environment.systemPackages = [ postgresql ];
    environment.systemPackages = [ cfg.finalPackage ];

    environment.pathsToLink = [
      "/share/postgresql"
@@ -601,7 +612,7 @@ in

      environment.PGDATA = cfg.dataDir;

      path = [ postgresql ];
      path = [ cfg.finalPackage ];

      preStart = ''
        if ! test -e ${cfg.dataDir}/PG_VERSION; then
@@ -682,7 +693,7 @@ in
          # receiving systemd's SIGINT.
          TimeoutSec = 120;

          ExecStart = "${postgresql}/bin/postgres";
          ExecStart = "${cfg.finalPackage}/bin/postgres";

          # Hardening
          CapabilityBoundingSet = [ "" ];
@@ -733,7 +744,6 @@ in

      unitConfig.RequiresMountsFor = "${cfg.dataDir}";
    };

  };

  meta.doc = ./postgresql.md;