diff options
author | Peter Bex <peter@more-magic.net> | 2023-03-19 10:06:45 +0100 |
---|---|---|
committer | Peter Bex <peter@more-magic.net> | 2023-03-19 10:46:25 +0100 |
commit | 9d05c9ca73c2b501744d528475532ab728318bde (patch) | |
tree | 66290d3bf9974ab7cf418508cc0937b838fd0343 /nix/pkgs.nix | |
download | ppq-9d05c9ca73c2b501744d528475532ab728318bde.tar.gz |
Initial version of "ppq" - portable PostgreSQL
This allows running PostgreSQL locally without having to set up a
system-wide service. It is portable in the sense that you can move
the directory around, and you can run multiple instances side-by-side.
Diffstat (limited to 'nix/pkgs.nix')
-rw-r--r-- | nix/pkgs.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nix/pkgs.nix b/nix/pkgs.nix new file mode 100644 index 0000000..cd15894 --- /dev/null +++ b/nix/pkgs.nix @@ -0,0 +1,31 @@ +{ + system ? builtins.currentSystem, + nixpkgs ? builtins.fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/22.11.tar.gz"; + sha256 = "11w3wn2yjhaa5pv20gbfbirvjq6i3m7pqrq2msf0g7cv44vijwgw"; + } +}: +let + # use the first version in the list for each component + getMajorVersion = builtins.getEnv "PPQ_POSTGRES_VERSION"; + + overlay = self: super: { + # NOTE: Overlaying `postgresql` is not possible anymore, leads to + # error: infinite recursion encountered + # + # TODO: Make extension packages more easily configurable. For now + # just load whatever we've ever needed. + ppq_postgresql = super."postgresql_${getMajorVersion}".withPackages (p: [ + p.postgis + ]); + }; + + pkgs = + import nixpkgs { + inherit system; + overlays = [ + overlay + ]; + }; +in +pkgs |