{
  stdenv,
  lib,
  hugo,
  go,
  sbcl,
  sbclPackages,
  makeWrapper,
  openssl
}:

let
  sbcl' = sbcl.withPackages (ps: with ps; [
    deploy
    hunchentoot
    dexador
    clack
    jzon
    serapeum
    deploy
    openssl
    openssl.out
    openssl.dev
  ]);
in
stdenv.mkDerivation rec {
  name = "tfcconnection";
  pname = "tfcconnection";
  version = "0.0.1";

  src = ./.;

  nativeBuildInputs = [
    makeWrapper
  ];

  buildInputs = [
    hugo
    go
    sbcl'
  ];

  buildPhase = ''
  export HOME=$(pwd)
  ${sbcl'}/bin/sbcl --load build.lisp
  '';

  installPhase = ''
  mkdir -p $out/bin
  cp tfcapi $out/bin
  # wrapProgram $out/bin/tfcapi \
  #   --prefix LD_LIBRARY_PATH : $LD_LIBRARY_PATH \
  '';

  meta = with lib; {
    name = "tfcconnection";
    description = "TFC Connection Website";
    homepage = "https://tfcconnection.org";
    license = licenses.gpl3;
    maintainers = [ "chriscochrun" ];
    platforms = platforms.all;
  };
}