{
  description = "Development flake for this rust 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 rust dependencies
          rustc
          cargo
          # Development tools
          rustfmt
          rust-analyzer
          clippy
        ] ++ projectDependencies;

        LD_LIBRARY_PATH = nixpkgs.lib.makeLibraryPath projectDependencies;

        RUST_BACKTRACE = 1;
      };
    });
}
