{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

  outputs =
    { self, nixpkgs }:
    let
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      runtimeLibs = with pkgs; [
        libGL
        libx11
        xorg.libXcursor
        xorg.libXi
        xorg.libXrandr
        xorg.libXinerama
      ];
    in
    {
      devShells.x86_64-linux.default = pkgs.mkShell {
        nativeBuildInputs = with pkgs; [
          cmake
          libx11.dev
          libxcb.dev
          xorg.libXrandr.dev
          xorg.libXi.dev
          xorg.libXcursor.dev
          xorg.libXinerama.dev
          python3
          openal
          flac.dev
          libvorbis.dev
          libogg.dev
          xwayland-satellite
          gdb
        ];

        shellHook = ''
          export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath runtimeLibs}:$LD_LIBRARY_PATH"
        '';
      };
    };
}
