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

  outputs =
    { nixpkgs, ... }:
    let
      system = "x86_64-linux";
      pkgs = import nixpkgs {
        inherit system;
        config.allowUnfree = true;
      };
    in
    {
      devShells.${system}.default = pkgs.mkShell {
        packages = with pkgs; [
          uv
          python314
          portaudio
          cudaPackages.cudatoolkit
          wtype
        ];

        LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [
          pkgs.portaudio
          pkgs.cudaPackages.cudatoolkit
        ];
      };
    };
}
