How to develop a PostgreSQL extension on NixOS?

I’ll post my current solution, courtesy of this reply:

# flake.nix
{
  inputs = {
    utils.url = "github:numtide/flake-utils";
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
  };
  outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system:
    let
      pkgs = nixpkgs.legacyPackages.${system};
      llvm = pkgs.llvmPackages_latest;
      lib = nixpkgs.lib;
    in
    {
      devShell = pkgs.mkShell rec {
        nativeBuildInputs = [
          pkgs.cmake
          llvm.lldb

          pkgs.clang-tools
          llvm.clang

          pkgs.gtest
          pkgs.gnumake

          pkgs.libpq
          pkgs.libpq.pg_config

          (pkgs.postgresql_18.withPackages
            (ps: [
              (ps.callPackage ./cao.nix { })
            ])
          )
        ];

        buildInputs = [
          llvm.libcxx
        ];

        CPATH = builtins.concatStringsSep ":" [
          (lib.makeSearchPathOutput "dev" "include" [ llvm.libcxx ])
          (lib.makeSearchPath "resource-root/include" [ llvm.clang ])
          (lib.makeSearchPath "include/postgresql/server" [ pkgs.libpq.dev ])
        ];
        #
        # makeFlags = [
        #   "USE_PGXS=1"
        # ];

        shellHook = ''
          # Augment the dynamic linker path
          export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${CPATH}"
          export LIBCLANG_PATH="${pkgs.libclang.lib}/lib";
          export PGDATA=./pg_data 
        '';
      };
    }
  );
}
# cao.nix
{ postgresql
, postgresqlBuildExtension
,
}:
postgresqlBuildExtension (finalAttrs: {
  name = "cao";
  src = ./.;
  makeFlags = [ "USE_PGXS=1" ];
  meta = {
    platforms = postgresql.meta.platforms;
  };
})
# makefile
EXTENSION    = cao
EXTVERSION   = $(shell grep default_version $(EXTENSION).control | \
               sed -e "s/default_version[[:space:]]*=[[:space:]]*'\([^']*\)'/\1/")

PG_CONFIG    = pg_config


MODULE_big = cao
OBJS = src/cao_main.o

# make sure
all: all-lib

PGXS := $(shell $(PG_CONFIG) --pgxs)
include $(PGXS)