Personal development environment optimized for speed, data visibility, and low-friction context switching.
I built this to solve two specific pain points:
- Fragmented virtual environments across AI and data projects.
- The overhead of writing Python scripts just to inspect local database state.
Data engineering is the bridge between code and state. This environment makes that bridge invisible. It relies on a high-performance stack: Ghostty for terminal performance, uv for Python management, and DuckDB for local analytics.
A dedicated "Data Lab" for prototyping. One command handles directory navigation and environment activation.
Quick visualization for .db files.
inspect data/raw/my_data.dbThis triggers a script that spins up a Datasette instance in the browser, providing a full GUI for filtering and SQL queries.
Sync configuration changes across the system and refresh the shell session instantly.
- bin/: Custom shell utilities.
- zsh/: Modular shell configuration and aliases.
- ghostty/: High-performance terminal configuration.
- install.sh: Symlink engine for environment deployment.
- Package Manager: uv
- Database: DuckDB
- Terminal: Ghostty
- Aesthetics: Minimalist Zsh prompt based on the Tovy color palette.
Adjust these variables to match your local setup:
- zsh/.zshrc: Set
DOTFILES_PATHto your clone location. - zsh/aliases.zsh: Set
MAIN_PROJECT_PATHto your primary workspace.
Run reload-dots after modifying.
Use zsh/aliases.local.zsh for personal aliases or machine-specific paths. This file is git-ignored to keep your local environment private.
# Example aliases.local.zsh
alias myproj="lab"
export MAIN_PROJECT_PATH="$HOME/work/my-cool-project"git clone https://github.com/GielNijkamp/tool-kit.git ~/repos/dotfiles
cd ~/repos/dotfiles
./install.shPrerequisites: uv and ghostty.
"The goal isn't just to write code, but to reduce the distance between an idea and a result."