Skip to content

mise(taskbook): tb globally, from the Rust port - #192

Merged
alycda merged 2 commits into
developfrom
mise-taskbook
Oct 16, 2026
Merged

alycda merged 2 commits into
developfrom
mise-taskbook

Conversation

@alycda

@alycda alycda commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Summary

One commit (ae9124e): tb joins tools/mise/global.toml, the global mise tools linked to ~/.config/mise/conf.d/dotfiles.toml.

  • Why the Rust port. 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 single ~3 MB binary per release, same tb CLI, 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.
  • Sync stays off. Its optional sync replaces the local backend with a remote one (no local copy, no offline use). Offline sync is a separate question.
  • Nix is left out for now, so lib/packages.nix is no longer a strict superset of mise.

Base of the stack: #191 (the SessionEnd hook) builds on this.

Testing

  • 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.
  • On the ditto account (macOS arm64, mise 2026.9.10): github:taskbook-sh/taskbook = "1.5" installs tb-darwin-aarch64.tar.gz, tb --version prints 1.5.0.

🤖 Generated with Claude Code

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
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
@alycda
alycda marked this pull request as ready for review October 16, 2026 08:40
@alycda
alycda merged commit 3e4084d into develop Oct 16, 2026
18 checks passed
@alycda
alycda deleted the mise-taskbook branch October 16, 2026 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants