summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix58
1 files changed, 38 insertions, 20 deletions
diff --git a/flake.nix b/flake.nix
index 7b2eb9c..2076939 100644
--- a/flake.nix
+++ b/flake.nix
@@ -30,28 +30,46 @@
let
version = builtins.head (lib.splitString "\n" (builtins.readFile ./version));
revision = lib.toString (self.shortRev or self.dirtyShortRev or "unknown");
+ mkPackage =
+ {
+ postgresql,
+ suffix ? "",
+ }:
+ pkgs.stdenv.mkDerivation {
+ name = "temp-postgres-${version}-${revision}${suffix}";
+ version = "${version}-${revision}";
+ src = lib.cleanSource (
+ builtins.path {
+ path = ./.;
+ name = "temp-postgres";
+ }
+ );
+ nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
+ installPhase = ''
+ mkdir -p $out/bin
+ cp temp-postgres.sh $out/bin/temp-postgres
+ mkdir -p $out/man/man1
+ cp temp-postgres.1 $out/man/man1/temp-postgres.1
+ wrapProgram $out/bin/temp-postgres --prefix PATH : ${lib.makeBinPath [ postgresql ]}
+ '';
+ };
+ postgresqlVersions = lib.mapAttrs' (
+ name: drv:
+ let
+ postgresqlVersion = lib.removePrefix "postgresql_" name;
+ in
+ lib.nameValuePair "temp-postgres_${postgresqlVersion}" (mkPackage {
+ postgresql = drv;
+ suffix = "_${postgresqlVersion}";
+ })
+ ) pkgs.postgresqlVersions;
in
{
- packages.default = self'.packages.temp-postgres;
-
- packages.temp-postgres = pkgs.stdenv.mkDerivation {
- name = "temp-postgres-${version}-${revision}";
- version = "${version}-${revision}";
- src = lib.cleanSource (
- builtins.path {
- path = ./.;
- name = "temp-postgres";
- }
- );
- nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
- installPhase = ''
- mkdir -p $out/bin
- cp temp-postgres.sh $out/bin/temp-postgres
- mkdir -p $out/man/man1
- cp temp-postgres.1 $out/man/man1/temp-postgres.1
- wrapProgram $out/bin/temp-postgres --prefix PATH : ${lib.makeBinPath [ pkgs.postgresql ]}
- '';
- };
+ packages = {
+ default = self'.packages.temp-postgres;
+ temp-postgres = mkPackage { postgresql = pkgs.postgresql; };
+ }
+ // postgresqlVersions;
formatter = pkgs.nixfmt-tree;
Generated by cgit. See skreutz.com for my tech blog and contact information.