Version-controlled collection of personal dotfiles and environment configurations designed for Data Engineering, Data Platform Engineering, Data Architecture, and AI-oriented workflows.
This repo contains configurations, scripts, and conventions that define a reproducible, efficient, and scalable development environment.
It is designed to:
- Standardize local environments across machines
- Automation
- Improve productivity
- Promote consistency and best practices
- Showcase engineering mindset and tooling choices
This repository reflects a few core principles:
- Reproducibility as a foundation
- Automation over manual work
- Clarity over cleverness
- Composability over monolithic setups
- Explicit configuration over implicit behavior
dotfiles/
├── data/ # Data-related utilities, templates, configs
├── git/ # Git configuration
│ ├── .gitconfig
│ ├── .gitignore
│ ├── .gitignore_global
│ └── .gitmessage
├── python/ # Python environment setup
│ └── python_env.sh
├── shell/ # Shell configuration (Zsh-based)
│ ├── .zshrc
│ ├── aliases.sh
│ └── env.sh
├── install.sh # Bootstrap installation script
└── README.md
- Modular and extensible structure
- Reproducible environment setup
- Python environment bootstrapping
- Thoughtful shell aliases and environment variables
- Opinionated Git configuration for professional workflows
- Optimized for productivity in data-intensive environments
- Unix-based OS (Linux/macOS)
zshinstalledgitinstalled
git clone https://github.com/ghakimian/dotfiles.git
cd dotfiles
chmod +x install.sh
./install.sh
⚠️ Review theinstall.shscript before running it to understand what changes will be applied to your system.
The python/python_env.sh script is intended to:
- Standardize Python setup
- Configure virtual environments
- Prepare dependencies for data and AI workflows
You can customize it depending on your preferred tooling:
pyenvvenvpoetryconda
Zsh is used as the primary shell.
Key components:
.zshrc: Main configuration filealiases.sh: Productivity shortcutsenv.sh: Environment variables and paths
Design principles:
- Minimal but powerful
- Readable and maintainable
- Performance-conscious
Includes:
- Global ignore rules
- Commit message template (
.gitmessage) - Opinionated defaults for professional workflows
Goals:
- Enforce clean commit history
- Improve collaboration standards
- Reduce noise in repositories
The /data directory is a placeholder for:
- Templates
- Schemas
- Sample datasets
- Configuration files for data tools
This will evolve as part of ongoing experimentation and professional use.
This is a public repository.
Never commit:
- Secrets (API keys, tokens, credentials)
- Private certificates
- Sensitive environment variables
Use .env files and secret managers where appropriate.
- Add support for containerized environments (Docker)
- Integrate with cloud CLI tools (AWS, GCP, Azure)
- Expand Python environment management (Poetry/UV)
- Add data tooling configs (dbt, Airflow, Spark)
- AI/ML tooling presets (Jupyter, MLflow, etc.)
This is a personal repository, but suggestions and discussions are welcome.
MIT License
Gregorio Hakimian
This repository is a living artifact of how I think about:
- Developer experience
- Data platforms
- Scalable environments for AI-driven systems
Feel free to explore, fork, and adapt it to your own workflow.