{ description = "scan! and organize!"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; in { packages.default = let name = "scansnapit"; src = pkgs.lib.readFile ./scan.fish; script = pkgs.writeScriptBin name src; runtimeInputs = [pkgs.jq (pkgs.llm.withPlugins {llm-ollama = true;}) pkgs.ocrmypdf pkgs.imagemagick]; in pkgs.symlinkJoin { inherit name; paths = [script] ++ runtimeInputs; buildInputs = [pkgs.makeWrapper]; postBuild = "wrapProgram $out/bin/${name} --prefix PATH : $out/bin"; }; } ); }