{
  description = "An opionated Postgres library";

  outputs = { self, nixpkgs }:
    let
      system = "x86_64-linux";
      pkgs = nixpkgs.legacyPackages.${system};
      opium = pkgs.haskellPackages.developPackage {
        root = ./.;
        modifier = drv:
          pkgs.haskell.lib.addBuildTools drv [
            pkgs.cabal-install
            pkgs.haskellPackages.implicit-hie
            pkgs.haskell-language-server
          ];
      };
    in {
      packages.${system}.opium = pkgs.haskell.lib.overrideCabal opium {
        # Currently the tests require a running Postgres instance.
        # This is not automated yet, so don't export the tests.
        doCheck = false;
      };

      devShells.${system}.default = opium.env;
    };
}