Nix Flakes for SDET Setup
The Quick Setup link
I've created a Nix Flakes repository for reproducible SDET environments across Mac, Linux, and Windows (WSL2). Here's how to get started:
Step 1: Install Nix (2 minutes) link
Step 2: Clone and Customize (1 minute) link
Edit flake.nix to set your username and hostname, and customize the package list.
Step 3: Apply Configuration (2 minutes) link
Done! All your tools are now installed and configured.
What's Included link
Development Tools link
- Git, GitHub CLI, Vim, GPG
- Node.js 20+ (LTS) with pnpm package manager
- OrbStack (fast, lightweight Docker alternative - Mac only)
- Language toolchains ready to add
CLI Utilities link
- Modern tools:
ripgrep,bat,fd,eza - System monitoring:
htop,btop - Essentials:
curl,wget,jq - Zsh with Oh My Zsh
GUI Applications (Mac/Linux) link
- Browsers: Brave, Firefox
- Communication: Slack, Telegram, WhatsApp
- Productivity: Logseq, Postman, Obsidian
All fully customizable!
Daily Workflow link
Update Everything link
Add a Package link
- Find it at search.nixos.org
- Add to your
flake.nix - Rebuild
Rollback on Issues link
SDET Use Cases link
Consistent Test Environments link
Use the same flake.nix locally and in CI to eliminate environment drift:
Quick CI/CD Setup link
Multi-Platform Testing link
Configurations for Mac, Linux, and Windows ensure your automation works everywhere.
Team Onboarding link
Three commands instead of a 20-page doc:
Get Started link
Check out the repository for platform-specific configurations:
Each includes detailed READMEs with troubleshooting guides.
Quick FAQ link
Will this conflict with my existing tools?
No. Nix installs to /nix separately. Uninstall anytime with /nix/nix-installer uninstall.
Disk space needed?
~2GB initially. Use nix-collect-garbage to clean old generations.
Works with Docker?
Yes! OrbStack is included on Mac (faster and lighter than Docker Desktop). Linux uses native Docker.
Questions? Open an issue on GitHub or check the Nix docs.
Feel free to update this blog post on GitHub, thanks in advance!