{
  description = "Development flake for this clojure project";
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
  inputs.flake-utils.url = "github:numtide/flake-utils";

  outputs = { self, nixpkgs, flake-utils }:
    flake-utils.lib.eachDefaultSystem (system: let

      pkgs = nixpkgs.legacyPackages.${system};

      projectDependencies = with pkgs; [
      ];

    in {
      devShells.default = pkgs.mkShell {
        nativeBuildInputs = [ pkgs.bashInteractive ];
        buildInputs = with pkgs; [
          # Core clojure dependencies
          clojure
          leiningen
          # IDE tools
          clojure-lsp
          # Development tools
        ] ++ projectDependencies;

      };
    });
}
