Repository navigation
mise(taskbook): tb globally, from the Rust port - #192
Merged
Merged
Conversation
taskbook is one of the few tools needed on every machine, and the original is a Node.js CLI: through mise it would put node and npm on PATH globally, with no lockfile behind its ^ ranges, for a package last released in 2019. taskbook-sh/taskbook is a Rust port: a single ~3 MB binary per release, same `tb` CLI and the same ~/.taskbook storage.json format, so existing data carries over. Global, not the root mise.toml: tasks are used from anywhere, and the root [tools] only apply inside this checkout. Its optional sync replaces the local backend with a remote one (no local copy, no offline use), so it stays off; offline sync is a separate question. Nix is left out for now, so lib/packages.nix is no longer a strict superset of mise. Tested in a scratch HOME with mise 2026.9.16: `mise dotfiles apply` links global.toml, `mise install` picks tb-linux-x86_64.tar.gz over the tb-server asset, and `tb --version` prints 1.5.0 outside the repo. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01YVLQbKokRj33H2wd5dZish
alycda
added this pull request to stack #193
September 30, 2026 06:25
The previous commit put tb in mise only. This adds it to lib/packages.nix, at the same 1.5 as mise, so the list is a superset of mise again. taskbook-sh ships its own overlay.nix, but it installs the release binaries unpatched: on Linux they ask for /lib64/ld-linux-x86-64.so.2, which works in the Debian devcontainers by accident and not at all on NixOS. Built from source with buildRustPackage instead, like the cheat override above it. Only taskbook-client is built; the workspace's server (axum, sqlx, Postgres) is left out. Tests run for the client and the common crate. The client pulls in aws-lc-sys and ring (reqwest over rustls), both C-built. CI's shell job now runs `tb --version`, which makes it the first build of tb on darwin and arm64. Tested in nixos/nix on x86_64-linux: the dev shell builds, 93 tests pass, `tb --version` prints 1.5.0, tb links against the Nix glibc, and it writes the original ~/.taskbook storage.json format. The dev shell evaluates for aarch64-linux and aarch64-darwin, and nixfmt passes. Not run here: `nix flake check` and the home-manager build, whose home-manager input this session's network policy can't fetch. The source hash was computed from `git archive v1.5.0` for the same reason (the codeload tarball was blocked), so CI's fetch is the first real check of it. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01YVLQbKokRj33H2wd5dZish
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One commit (ae9124e):
tbjoinstools/mise/global.toml, the global mise tools linked to~/.config/mise/conf.d/dotfiles.toml.^ranges, for a package last released in 2019. taskbook-sh/taskbook is a single ~3 MB binary per release, sametbCLI, same~/.taskbookstorage.json format, so existing data carries over.[tools]only apply inside this checkout.lib/packages.nixis no longer a strict superset of mise.Base of the stack: #191 (the SessionEnd hook) builds on this.
Testing
mise dotfiles applylinks global.toml,mise installpickstb-linux-x86_64.tar.gzover thetb-serverasset, andtb --versionprints 1.5.0 outside the repo.github:taskbook-sh/taskbook = "1.5"installstb-darwin-aarch64.tar.gz,tb --versionprints 1.5.0.🤖 Generated with Claude Code