This repo contains the configuration to setup my machines for web development. This is using Chezmoi, the dotfile manager to setup the install.
Supported platforms: Fedora, Debian/Ubuntu, macOS, and Windows 11
export GITHUB_USERNAME=GyeongHoKim
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply $GITHUB_USERNAMEWindows11:
$env:GITHUB_USERNAME = "GyeongHoKim"
& ([scriptblock]::Create((irm 'https://get.chezmoi.io/ps1'))) init --apply $env:GITHUB_USERNAMEShell & Terminal:
- zsh with Oh My Zsh (Linux/macOS)
- PowerShell with custom profile (Windows)
- tmux for terminal multiplexing (Linux/macOS)
- Windows Terminal (Windows)
- JetBrains Mono Nerd Font
Editors:
- Neovim (managed by bob-nvim)
- Visual Studio Code
- Helix
Language Runtimes (via mise):
- Node.js (LTS - always latest Long-term Support version)
- Python (latest stable)
- Go (latest stable)
- Rust (latest stable)
Note: Versions are set to "latest" so each new machine setup installs the current stable versions at that time.
CLI Development Tools:
- Git + GitHub CLI (
gh) - Search:
ripgrep,fzf,fd-find - Build tools: gcc, make, autoconf
- Package managers: poetry (Python), luarocks (Lua)
- Task runner: go-task
Container & Infrastructure:
- Docker Desktop (macOS/Windows) / Docker (Linux)
- Podman (Linux)
- Kubernetes: kubectl, helm
- Infrastructure as Code: terraform, pulumi
- Cloud CLIs: flyctl (Fly.io), doctl (DigitalOcean)
Development:
- Visual Studio Code
- Insomnia (API testing)
- Meld (diff/merge tool)
- DB Browser for SQLite
Browsers:
- Firefox / Firefox ESR
- Brave Browser
Media & Graphics:
- OBS Studio (streaming/recording)
- VLC Media Player
- Blender (3D graphics)
- Tenacity (audio editor)
- GIMP (image editor)
Productivity:
- Obsidian (note-taking)
- Foliate (ebook reader, Linux only)
System:
- GNOME Tweaks (Linux only)
export GITHUB_USERNAME=GyeongHoKim
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply $GITHUB_USERNAMEThe setup will:
- Install Ansible
- Run the Ansible playbook to install system packages and mise
- Install Oh My Zsh
- Install bob-nvim (Neovim version manager)
- Configure mise to auto-install language runtimes on first shell login
See WINDOWS.md for detailed Windows setup instructions.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
$env:GITHUB_USERNAME = "GyeongHoKim"
& ([scriptblock]::Create((irm 'https://get.chezmoi.io/ps1'))) init --apply $env:GITHUB_USERNAMEThe setup will:
- Install development tools via winget (Windows Package Manager)
- Set up PowerShell profile with mise activation
- Deploy Neovim configuration (cross-platform)
- Install mise for language version management
Important: After installation, restart your terminal and run mise install to install language runtimes.
After installation, use mise to manage language versions:
# Check installed versions
mise current
# Install different versions
mise use -g node@20
mise use [email protected]
# Per-project versions
cd my-project
mise use node@18 # Creates .tool-versions or mise.toml