{ description = "Screencap bot for Cohost"; outputs = { self, nixpkgs }: let pkgs = import nixpkgs { system = "x86_64-linux"; }; buildDeps = { buildInputs = with pkgs; [ ffmpeg openssl ]; nativeBuildInputs = with pkgs; [ rustc cargo pkgconfig clang ]; LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; }; pname = "screencap-bot"; version = "0.1"; in rec { packages.x86_64-linux."${pname}-unwrapped" = pkgs.rustPlatform.buildRustPackage ({ inherit pname version; src = ./.; cargoLock.lockFile = ./Cargo.lock; } // buildDeps); packages.x86_64-linux.${pname} = pkgs.symlinkJoin { name = "${pname}-${version}"; paths = [ packages.x86_64-linux."${pname}-unwrapped" ]; buildInputs = [ pkgs.makeWrapper ]; postBuild = '' wrapProgram $out/bin/${pname} \ --prefix PATH : ${pkgs.ffmpeg}/bin ''; }; packages.x86_64-linux.default = packages.x86_64-linux.${pname}; devShells.x86_64-linux.default = pkgs.mkShell buildDeps; }; }