|
35 | 35 | pkgs, |
36 | 36 | system, |
37 | 37 | ... |
38 | | - }: { |
39 | | - devShells.default = pkgs.mkShell { |
40 | | - name = "pg_jsonpatch"; |
41 | | - buildInputs = with pkgs; [ |
42 | | - postgresql |
43 | | - perlPackages.TAPParserSourceHandlerpgTAP # pg_prove |
44 | | - ]; |
45 | | - PGDATA = "data/default"; |
46 | | - PGHOST = "localhost"; |
47 | | - PGDATABASE = "postgres"; |
48 | | - }; |
49 | | - |
| 38 | + }: let |
50 | 39 | packages = { |
51 | 40 | default = pkgs.callPackage ./package.nix {inherit (pkgs) postgresql;}; |
52 | | - v17 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_17;}; |
53 | | - v16 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_16;}; |
54 | | - v15 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_15;}; |
55 | | - v14 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_14;}; |
| 41 | + postgresql_17 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_17;}; |
| 42 | + postgresql_16 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_16;}; |
| 43 | + postgresql_15 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_15;}; |
| 44 | + postgresql_14 = pkgs.callPackage ./package.nix {postgresql = pkgs.postgresql_14;}; |
56 | 45 | }; |
| 46 | + in { |
| 47 | + devShells = builtins.mapAttrs (name: drv: |
| 48 | + pkgs.mkShell { |
| 49 | + name = "pg_jsonpatch"; |
| 50 | + buildInputs = [ |
| 51 | + drv.passthru.postgresql |
| 52 | + pkgs.perlPackages.TAPParserSourceHandlerpgTAP # pg_prove |
| 53 | + ]; |
| 54 | + PGDATA = "data/${name}"; |
| 55 | + PGHOST = "localhost"; |
| 56 | + PGDATABASE = "postgres"; |
| 57 | + }) |
| 58 | + packages; |
57 | 59 |
|
58 | | - process-compose.devenv = { |
59 | | - imports = [ |
60 | | - inputs.services.processComposeModules.default |
61 | | - ]; |
| 60 | + inherit packages; |
62 | 61 |
|
63 | | - cli.options.no-server = false; |
| 62 | + process-compose = lib.mapAttrs' (name: drv: |
| 63 | + lib.nameValuePair "${name}-compose" { |
| 64 | + imports = [ |
| 65 | + inputs.services.processComposeModules.default |
| 66 | + ]; |
64 | 67 |
|
65 | | - services.postgres.default = { |
66 | | - enable = true; |
67 | | - extensions = exts: |
68 | | - with exts; [ |
69 | | - config.packages.default |
70 | | - pgtap |
71 | | - ]; |
72 | | - initialScript.after = '' |
73 | | - create extension pgtap; |
74 | | - ''; |
75 | | - package = config.packages.default.postgresql; |
76 | | - settings = { |
77 | | - log_statement = "all"; |
78 | | - logging_collector = false; |
| 68 | + cli.options.no-server = false; |
| 69 | + |
| 70 | + services.postgres.${name} = { |
| 71 | + enable = true; |
| 72 | + extensions = exts: [drv exts.pgtap]; |
| 73 | + initialScript.after = '' |
| 74 | + create extension pgtap; |
| 75 | + ''; |
| 76 | + package = drv.passthru.postgresql; |
| 77 | + settings = { |
| 78 | + log_statement = "all"; |
| 79 | + logging_collector = false; |
| 80 | + }; |
79 | 81 | }; |
80 | | - }; |
81 | | - }; |
| 82 | + }) |
| 83 | + packages; |
82 | 84 | }; |
83 | 85 | }; |
84 | 86 | } |
0 commit comments