diff --git a/nix/packages/default.nix b/nix/packages/default.nix index a452a9b78..6e4f6f704 100644 --- a/nix/packages/default.nix +++ b/nix/packages/default.nix @@ -1,6 +1,10 @@ { self, inputs, ... }: { - imports = [ ./postgres.nix ]; + imports = [ + ./postgres.nix + ./site-profile.nix + ]; + perSystem = { inputs', diff --git a/nix/packages/site-profile.nix b/nix/packages/site-profile.nix new file mode 100644 index 000000000..6ea983049 --- /dev/null +++ b/nix/packages/site-profile.nix @@ -0,0 +1,36 @@ +# These are profiles (package sets per pg major version) deployed to instances and updated regularly. +{ + perSystem = + { + self', + pkgs, + lib, + ... + }: + let + makeSiteProfile = + version: extraPaths: + pkgs.buildEnv { + name = "site-profile-${version}"; + paths = [ self'.legacyPackages."psql_${version}".exts.supautils ] ++ extraPaths; + }; + + siteProfiles = { + + "site-profile-15" = makeSiteProfile "15" [ ]; + + # gatekeeper is only available for pg 17+ on linux + + "site-profile-17" = makeSiteProfile "17" ( + lib.optionals pkgs.stdenv.isLinux [ self'.packages.gatekeeper ] + ); + + "site-profile-orioledb-17" = makeSiteProfile "orioledb-17" ( + lib.optionals pkgs.stdenv.isLinux [ self'.packages.gatekeeper ] + ); + }; + in + { + legacyPackages = siteProfiles; + }; +}