| Crates.io | bath |
| lib.rs | bath |
| version | 0.3.3 |
| created_at | 2025-02-03 22:08:08.437544+00 |
| updated_at | 2025-12-19 19:51:50.969566+00 |
| description | A TUI tool to manage and export environment variable profiles |
| homepage | https://github.com/4thel00z/bath |
| repository | https://github.com/4thel00z/bath |
| max_upload_size | |
| id | 1541137 |
| size | 308,299 |
bath is a terminal UI (TUI) tool for managing environment-variable profiles (e.g. PATH, compiler flags, and linker flags) backed by SQLite.
export ... statements for the selected profilecargo install bath
bath
TUI navigation (k9s-style)
Views: single active view with an always-visible bottom Details pane.
Global keys
:: command palette (jump views / run commands)/: filter current view (live while typing, Esc cancels/clears)j/k or Arrow keys: move selectiong/End: jump to bottomG/Home: jump to topq: quitCommon : commands
:profiles :vars :parts :items :defs :preview :export :help:use <profile>:themes (list available theme presets):theme <name> (switch theme; also persists to config):new-var (create a custom env var definition):new-item (create an item):quitTheming
~/.config/bath/config.toml (or $XDG_CONFIG_HOME/bath/config.toml)[theme]
preset = "dracula"
# Optional overrides (accepts oklch(...) like DaisyUI, or #RRGGBB)
primary = "oklch(75% 0.18 346)"
base_100 = "#0b0f19"
The README includes a GIF (assets/bath.gif) showing the TUI in action.
bath export my_profile
eval "$(bath export my_profile)"
prepend is default):bath export my_profile --mode append
bath export --help
Bath stores profiles in a SQLite database at:
~/.bath.dbThis repository includes a .pre-commit-config.yaml to run basic checks locally (formatting, clippy, tests).
pipx install pre-commit
pre-commit install
pre-commit run -a
GitHub Actions runs the following on every push and pull request:
cargo fmt --checkcargo clippy -- -D warningscargo testReleases are automated with release-plz (it opens a release PR and publishes to crates.io after merge).
Settings → Actions → General, set workflow permissions to allow GitHub Actions to create and approve pull requests. See the official quickstart: https://release-plz.dev/docs/github/quickstartCARGO_REGISTRY_TOKEN (crates.io token with scopes publish-new and publish-update), used by .github/workflows/release-plz.yml.GPL-3.0. See LICENSE.