Streamlined Windows Development Environment Configuration
Built with the tools and technologies:
Windows Dotfiles is an automated configuration system that transforms a fresh Windows development environment into a fully-equipped, personalized workspace. Designed for developers who want consistent tooling across machines, it eliminates manual setup time and ensures reproducible development environments with a single command.
- One-Command Setup - Complete environment configuration with automated PowerShell script
- Developer-Focused Tooling - Pre-configured VS Code, Windows Terminal, and essential development tools
- Automated Application Management - Installs 25+ development applications via winget package manager
- Custom Shell Experience - Starship prompt with Git integration and enhanced PowerShell profile
- Consistent Configuration - Synchronized settings across VS Code, terminal, and development tools
- Easy Customization - Modular configuration files for personalized development preferences
Custom Starship prompt configuration showing Git status, directory information, and enhanced terminal experience.
- Shell Environment: PowerShell, Windows Terminal, Starship prompt
- Editor: VS Code with 70+ curated extensions
- Development Tools: Git, Node.js, Python, Docker, Java JDK
- Package Management: Winget, npm, Chocolatey
- Configuration: JSON, TOML, PowerShell scripts
- Windows 10/11 with PowerShell 5.1 or later
- Administrator privileges for installation
- Internet connection for downloading packages
-
Open PowerShell as Administrator
- Right-click on PowerShell and select "Run as Administrator"
-
Run Installation Command
irm "https://raw.githubusercontent.com/razeevascx/dotfiles/main/win/install.ps1" | iex
-
Installation Process The script will automatically:
- Download configuration files from the repository
- Remove any existing dotfiles installation
- Extract files to
%USERPROFILE%\dotfiles - Run the setup script
-
Post-Installation Configuration
# Configure Git with your credentials git config --global user.name "Your Name" git config --global user.email "[email protected]"
-
Verify Installation
- Restart your terminal to apply new settings
- Open VS Code to install extensions automatically
- Check Starship prompt configuration
- Windows Terminal - Custom color schemes, fonts, and key bindings
- VS Code - 70+ extensions, settings, tasks, and snippets
- PowerShell Profile - Aliases, functions, and enhanced command history
- Starship Prompt - Git status, directory info, and execution time
The configuration includes these essential development tools:
Development Tools:
- Git, GitHub Desktop
- Node.js (LTS), Python 3.13
- Docker Desktop
- Java JDK (21, 23), XAMPP
Editors & IDEs:
- Visual Studio Code
- IntelliJ IDEA Community
- JetBrains WebStorm
- JetBrains Toolbox
Terminal & Shell:
- Windows Terminal
- Starship prompt
- JetBrains Mono Nerd Font
Utilities:
- Postman, Notion
- Microsoft Teams, Office
- Quick Share, Warp Terminal
If you encounter issues during installation:
- Administrator Rights - Ensure PowerShell is running as Administrator
- Network Issues - Check internet connection for package downloads
- Installation Conflicts - Close applications that might lock configuration files
- Script Execution Policy - Run
Set-ExecutionPolicy RemoteSignedif needed - Package Installation Failures - Some packages may require manual installation
For detailed error messages, check the PowerShell console output during installation.
Modify these configuration files to personalize your environment:
win/terminal/settings.json- Windows Terminal appearance and behaviorvscode/settings.json- VS Code editor preferences and workspace settingsvscode/extensions.txt- VS Code extensions list (one per line)starship.toml- Shell prompt configuration and stylingwin/application/packages.json- Application installation list via winget
To add new extensions:
- Open
vscode/extensions.txt - Add extension identifier (e.g.,
ms-python.python) - Save and re-run setup script
To customize installed applications:
- Edit
win/application/packages.json - Add/remove package identifiers from the Packages array
- Use
winget search <app-name>to find package identifiers
