{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
    flake-utils.url = "github:numtide/flake-utils";
    rust-overlay.url = "github:oxalica/rust-overlay";
  };
  outputs = { self, nixpkgs, flake-utils, rust-overlay }:
    flake-utils.lib.eachDefaultSystem
      (system:
        let
          overlays = [
            rust-overlay.overlays.default
          ];
          pkgs = import nixpkgs {
            inherit system overlays;
            config = {
              allowUnfree = true;
            };
          };
        in
        with pkgs;
        {
          devShells.default = mkShell {
            env = {
              OPENSSL_NO_VENDOR = "1";
              NIX_OUTPATH_USED_AS_RANDOM_SEED = "aaaaaaaaaa";
            };

            packages = [
              pkg-config
              vault
              (rust-bin.stable.latest.default.override {
                extensions = [ "rust-src" ];
              })
              rustc
              cargo
              rustfmt
              clippy
            ];
          };
        }
      );
}