{ description = "A terminal slideshow tool"; inputs = { flakebox = { url = "github:rustshop/flakebox?rev=ead24017440df8c5fd75cdb04c16d13c7d6fa50d"; }; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, flake-utils, flakebox }: flake-utils.lib.eachDefaultSystem (system: let projectName = "presenterm"; flakeboxLib = flakebox.lib.${system} { config = { github.ci.buildOutputs = [ ".#ci.${projectName}" ]; }; }; buildPaths = [ "build.rs" "Cargo.toml" "Cargo.lock" ".cargo" "src" "themes" "bat" "executors.yaml" ]; buildSrc = flakeboxLib.filterSubPaths { root = builtins.path { name = projectName; path = ./.; }; paths = buildPaths; }; multiBuild = (flakeboxLib.craneMultiBuild { }) (craneLib': let craneLib = (craneLib'.overrideArgs { pname = projectName; src = buildSrc; nativeBuildInputs = [ ]; }); in { ${projectName} = craneLib.buildPackage { }; }); in { packages.default = multiBuild.${projectName}; legacyPackages = multiBuild; devShells = flakeboxLib.mkShells { }; } ); }