{ rustPlatform, fetchFromGitHub, lib, installShellFiles, gitUpdater, serve ? true }: rustPlatform.buildRustPackage rec { pname = "cooklang-chef"; version = "0.10.1"; src = fetchFromGitHub { owner = "Zheoni"; repo = "cooklang-chef"; rev = "v${version}"; hash = "sha256-U/zEtDHIAjBakMjIqpJeFzTxof8SHSgLj9zjgND6q1Q="; }; cargoLock.lockFile = "${src}/Cargo.lock"; # optionally disable the webserver buildNoDefaultFeatures = !serve; nativeBuildInputs = [ installShellFiles ]; postInstall = '' # Without setting $XDG_CONFIG_HOME, `chef` will complain when trying to generate completion scripts export XDG_CONFIG_HOME=$out/share for s in bash fish zsh; do installShellCompletion --cmd chef --$s <($out/bin/chef generate-completions $s) done ''; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; meta = with lib; { homepage = "https://github.com/Zheoni/cooklang-chef"; description = "A CLI to manage cooklang recipes with extensions"; license = licenses.mit; mainProgram = "chef"; maintainers = [{ name = "Chris Wells"; github = "the-mathematicaster"; email = "chris@mathematicaster.org"; githubId = 99217745; }]; }; }