{
  description = "learning.rs";
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    rust-overlay.url = "github:oxalica/rust-overlay";
    flake-utils.url = "github:numtide/flake-utils";
  };
  outputs = {
    self,
    nixpkgs,
    flake-utils,
    rust-overlay,
  }:
    flake-utils.lib.eachDefaultSystem (system: let
      overlays = [(import rust-overlay)];
      pkgs = import nixpkgs {
        inherit system overlays;
      };
    in {
      devShells.default = pkgs.mkShell {
        buildInputs = with pkgs; [
          openssl
          pkg-config
          eza
          fd
          (rust-bin.stable.latest.default.override {
            extensions = ["rust-src"];
          })
          rust-analyzer
          jq
          vhs
          ffmpeg
          ttyd
          glow
        ];
      };
    });
}
