mirror of
https://github.com/esauflores/toolbox.git
synced 2026-03-09 21:03:59 +00:00
63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
# dev-tools
|
|
|
|
Curated set of dev tools managed by [mise](https://mise.jdx.dev/). Docker-based development environment with tools persisted on a shared volume.
|
|
|
|
## Tools
|
|
|
|
| Category | Tools |
|
|
| ---------------- | -------------------------------------------------- |
|
|
| Languages | Node 24, Python 3.11, Go 1.26, DuckDB 1 |
|
|
| Package managers | uv |
|
|
| Secrets | sops, age |
|
|
| Infra | mc (MinIO client), Supabase CLI |
|
|
| Dev utilities | bat, eza, ripgrep, fzf, jq, yq, just, gh, starship |
|
|
|
|
## Quick Start
|
|
|
|
Clone and run the dev-tools container:
|
|
|
|
```bash
|
|
git clone https://github.com/esauflores/dev-tools
|
|
cd dev-tools
|
|
cp .env.example .env # optional, fill in GITHUB_TOKEN
|
|
docker compose up
|
|
```
|
|
|
|
This will:
|
|
|
|
- Create a `dev-tools` Docker volume to persist tool data and configurations
|
|
- Start the container with the volume mounted at `/tools`
|
|
- Install all tools via mise on first run
|
|
|
|
**Optional (Important):** Set `GITHUB_TOKEN` in `.env` to increase GitHub API rate limits for mise.
|
|
|
|
## Using the Volume in Other Containers
|
|
|
|
The `dev-tools` container populates the volume with all tools. Use that volume in your other containers:
|
|
|
|
```yaml
|
|
services:
|
|
app:
|
|
volumes:
|
|
- dev-tools:/tools:ro
|
|
```
|
|
|
|
Add `/tools/shims` to `PATH` in your container's Dockerfile:
|
|
|
|
```dockerfile
|
|
ENV PATH="/tools/shims:${PATH}"
|
|
```
|
|
|
|
All dev-tools are now available in your container.
|
|
|
|
## Updating Tools
|
|
|
|
Edit `mise.toml`, update versions as needed, then rebuild:
|
|
|
|
```bash
|
|
docker compose build --no-cache
|
|
docker compose up
|
|
```
|
|
|
|
The `dev-tools` volume persists tool data between runs.
|