let
  sources = import ../nix/sources.nix {};
  pkgs = import sources.nixpkgs {};

  pythonEnv = pkgs.python3.withPackages (ps: with ps; [
    black
    mypy

    flask
    sqlalchemy
    flask_sqlalchemy
    alembic

    requests

    raven
  ]);

in
  pkgs.mkShell {
    name = "piket-server-shell";
    packages = [
      pythonEnv
      pkgs.uwsgi
    ];

    shellHook = ''
      export PYTHONPATH=..
      export FLASK_APP=piket_server
    '';
  }