{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
    crate2nix = {
      url = "github:nix-community/crate2nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  nixConfig = {
    allow-import-from-derivation = true;
  };

  outputs =
    {
      self,
      crate2nix,
      nixpkgs,
    }:
    let
      system = "x86_64-linux";
      pkgs = nixpkgs.legacyPackages.${system};
    in
    {
      devShells.${system}.default = pkgs.mkShell {
        packages = with pkgs; [
          cargo
          clippy
          rustc
          rustfmt
          leptosfmt
          rust-analyzer
          trunk

          lld

          pkg-config
          openssl
        ];
      };
    };
}