{ description = "Premiere to Resolve XML Converter - Convert Adobe Premiere Pro XML exports for DaVinci Resolve on Linux"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; prem2resolve = pkgs.writeScriptBin "prem2resolve" '' #!${pkgs.python3}/bin/python3 ${builtins.readFile ./premiere_to_resolve.py} ''; prem2resolve-wrapped = pkgs.symlinkJoin { name = "prem2resolve"; paths = [ prem2resolve ]; buildInputs = [ pkgs.makeWrapper ]; postBuild = '' wrapProgram $out/bin/prem2resolve \ --prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.ffmpeg ]} ''; }; build-rpm = pkgs.writeShellApplication { name = "build-rpm"; runtimeInputs = [ pkgs.git pkgs.gzip pkgs.python3 pkgs.rpm ]; text = '' exec ${pkgs.bash}/bin/bash ${./scripts/build-rpm.sh} ''; }; in { packages = { default = prem2resolve-wrapped; prem2resolve = prem2resolve-wrapped; build-rpm = build-rpm; }; apps = { default = { type = "app"; program = "${prem2resolve-wrapped}/bin/prem2resolve"; }; build-rpm = { type = "app"; program = "${build-rpm}/bin/build-rpm"; }; }; devShells.default = pkgs.mkShell { buildInputs = [ pkgs.python3 pkgs.ffmpeg ]; }; devShells.rpm = pkgs.mkShell { buildInputs = [ pkgs.git pkgs.gzip pkgs.python3 pkgs.rpm ]; }; } ); }