{
  description = "An opionated Postgres library";

  outputs = { self, nixpkgs }:
    let
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
    in {
      apps.x86_64-linux.cabal = {
        type = "app";
        program = "${nixpkgs.legacyPackages.x86_64-linux.cabal-install}/bin/cabal";
      };
      devShells.x86_64-linux.default = pkgs.mkShell {
        packages = [
          pkgs.cabal-install
          pkgs.haskellPackages.implicit-hie
          (pkgs.ghc.withPackages (hp: with hp; [
            attoparsec
            containers
            bytestring
            hspec
            postgresql-libpq
            text
            transformers
            vector
          ]))

          pkgs.haskell-language-server
        ];
        shellHook = ''
          PS1="<opium> ''${PS1}"
        '';
      };
    };
}