{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs, } @ inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; in { devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ python313 python313Packages.flask python313Packages.waitress ]; shellHook = '' python --version exec zsh ''; }; packages.${system} = let scanbuddy = pkgs.writeShellApplication { name = "scanbuddy-script"; runtimeInputs = with pkgs; [sane-backends brscan5 ghostscript]; text = builtins.readFile ./scanbuddy.bash; }; wrapper = pkgs.writeShellApplication { name = "scanbuddy-wrapper"; text = /* bash */ '' #!/usr/bin/env bash readarray -d '_' args < <(printf "%s" "$1") scanbuddy "''${args[@]}" ''; }; package = pkgs.symlinkJoin { name = "scanbuddy"; paths = [scanbuddy wrapper]; }; in { default = package; inherit scanbuddy; inherit wrapper; }; }; }