A small, battle-tested Windows configuration toolkit to bootstrap a developer-friendly environment on a fresh install.
Highlights:
- Minimal, well-tested
PowerShell
scripts and settings - Opinionated defaults for productivity and development
- Modular design for easy customization and extension
- Focus on essential tools and configurations
- Designed for both personal and professional use
- Table of Contents
- Features
- Requirements
- Installation
- Post-Deployment Verification
- Safety & Troubleshooting
- Contributing
- License
- Modular Scripts: Easily customize and extend your setup with modular scripts.
- Essential Tools: Focuses on essential tools and configurations for developers.
- Opinionated Defaults: Comes with sensible defaults to enhance productivity.
- Cross-Platform: While primarily for Windows, it can be adapted for other platforms with minor tweaks.
- Custom Dotfiles : Supports custom dotfiles for personalized configurations.
- Automated Setup: Automates the installation and configuration of tools and settings.
- Windows 10 or later
- PowerShell 5.1 or later
- Internet connection for downloading packages
- Administrator privileges for certain installations
Choose between automated or manual installation methods based on your preference and requirements.
The recommended approach using the bootstrap.ps1
script for a complete hands-off setup experience.
The bootstrap script is the main entry point that automates the entire Winfig setup process. It handles environment validation, prerequisite installation, and repository setup.
Quick Start (Recommended):
# Run directly from the web (requires Administrator privileges)
Invoke-RestMethod -Uri "https://raw.githubusercontent.com/ToolsHive/Winfig/main/bootstrap.ps1" | Invoke-Expression
- Environment Validation - Verifies system compatibility and requirements
- System Restore Point - Creates a safety restore point before changes
- Package Manager Setup - Installs and configures Chocolatey and WinGet
- Git Installation - Ensures Git is available for version control
- Repository Cloning - Downloads the complete Winfig configuration to your system
- Comprehensive Logging - Detailed execution logs for troubleshooting
- Interactive Prompts - User confirmation for critical system changes
- Error Recovery - Robust error handling and fallback mechanisms
- Progress Indicators - Clear visual feedback throughout the process
- Safety First - Automatic system restore point creation
For users who prefer step-by-step control over the installation process.
-
Install Prerequisites Manually
- Install Chocolatey package manager
- Install Windows Package Manager (WinGet)
- Install Git for version control
-
Download and Run Bootstrap Script
# Download the bootstrap script Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ToolsHive/Winfig/main/bootstrap.ps1" -OutFile "bootstrap.ps1"
# Run with administrator privileges .\bootstrap.ps1
-
Follow Interactive Setup
- The script will clone the repository to the appropriate location
- Follow the prompts for configuration options
- Complete the setup wizard
Note: Even with manual installation, the bootstrap script handles repository cloning and setup. You only need to manually install the prerequisites first.
- Configuration Wizard - Complete the guided setup process
- System Integration - Restart system to initialize all components
- Operational Validation - Execute diagnostic verification procedures
Administrative Requirements: Elevated PowerShell privileges required for proper installation.
- Backup important config files before running. Testing in a VM is recommended.
- If you encounter repeated elevation prompts when using the iwr|iex one-liner, manually run the downloaded script from an elevated PowerShell window.
- If you get parser/encoding errors after download, ensure the file is saved in UTF-8 and hasn't been edited in a way that breaks quoted strings or backtick line continuations.
- If package manager installs fail, install the package manager (winget/choco) manually and re-run the script.
Professional contributions are welcomed from the development community.
- Repository Fork - Create independent development branch
- Feature Development - Implement changes in isolated branch (
git checkout -b feature/enhancement
) - Code Commitment - Document changes with descriptive commit messages
- Branch Publication - Push feature branch to forked repository
- Pull Request Submission - Submit formal code review request
- Issue Reporting - Utilize standardized issue templates for consistency
- Enhancement Proposals - Engage in architectural discussions prior to implementation
- Documentation - Maintain comprehensive documentation standards
- Quality Assurance - Implement comprehensive testing for new functionality
This project is distributed under the MIT License © 2025 Armoghan-ul-Mohmin