https://github.com/toolshive/winfig
https://github.com/toolshive/winfig
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/toolshive/winfig
- Owner: ToolsHive
- License: other
- Created: 2025-10-04T14:05:38.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-04T16:21:58.000Z (9 months ago)
- Last Synced: 2025-10-04T16:25:46.464Z (9 months ago)
- Language: PowerShell
- Size: 2.93 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
🛠️✨Winfig
[](https://opensource.org/licenses/MIT)
[](https://github.com/PowerShell/PowerShell)
[](https://chocolatey.org/)
[](https://github.com/microsoft/winget-cli)
[](https://www.microsoft.com/windows)
[](https://github.com/ToolsHive/Winfig.git/issues)
[](https://github.com/ToolsHive/Winfig.git/pulls)
[](https://github.com/ToolsHive/Winfig.git)
[](https://github.com/ToolsHive/Winfig.git/commits/main)
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
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Automated Installation](#automated-installation)
- [Bootstrap Script](#bootstrap-script)
- [What the Bootstrap Script Does](#what-the-bootstrap-script-does)
- [Bootstrap Features](#bootstrap-features)
- [Manual Installation](#manual-installation)
- [Post-Deployment Verification](#post-deployment-verification)
- [Safety \& Troubleshooting](#safety--troubleshooting)
- [Contributing](#contributing)
- [Development Workflow](#development-workflow)
- [Contribution Standards](#contribution-standards)
- [License](#license)
## Features
- **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.
## Requirements
- Windows 10 or later
- PowerShell 5.1 or later
- Internet connection for downloading packages
- Administrator privileges for certain installations
## Installation
Choose between automated or manual installation methods based on your preference and requirements.
### Automated Installation
The recommended approach using the `bootstrap.ps1` script for a complete hands-off setup experience.
#### Bootstrap Script
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):**
```powershell
# Run directly from the web (requires Administrator privileges)
Invoke-RestMethod -Uri "https://raw.githubusercontent.com/ToolsHive/Winfig/main/bootstrap.ps1" | Invoke-Expression
```
#### What the Bootstrap Script Does
1. **Environment Validation** - Verifies system compatibility and requirements
2. **System Restore Point** - Creates a safety restore point before changes
3. **Package Manager Setup** - Installs and configures Chocolatey and WinGet
4. **Git Installation** - Ensures Git is available for version control
5. **Repository Cloning** - Downloads the complete Winfig configuration to your system
#### Bootstrap Features
- **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
### Manual Installation
For users who prefer step-by-step control over the installation process.
1. **Install Prerequisites Manually**
- Install Chocolatey package manager
- Install Windows Package Manager (WinGet)
- Install Git for version control
2. **Download and Run Bootstrap Script**
```powershell
# Download the bootstrap script
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/ToolsHive/Winfig/main/bootstrap.ps1" -OutFile "bootstrap.ps1"
```
```powershell
# Run with administrator privileges
.\bootstrap.ps1
```
3. **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.
## Post-Deployment Verification
1. **Configuration Wizard** - Complete the guided setup process
2. **System Integration** - Restart system to initialize all components
3. **Operational Validation** - Execute diagnostic verification procedures
> **Administrative Requirements**: Elevated PowerShell privileges required for proper installation.
## Safety & Troubleshooting
- 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.
## Contributing
Professional contributions are welcomed from the development community.
### Development Workflow
1. **Repository Fork** - Create independent development branch
2. **Feature Development** - Implement changes in isolated branch (`git checkout -b feature/enhancement`)
3. **Code Commitment** - Document changes with descriptive commit messages
4. **Branch Publication** - Push feature branch to forked repository
5. **Pull Request Submission** - Submit formal code review request
### Contribution Standards
- **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
## License
This project is distributed under the [**MIT License**](LICENSE) © 2025 Armoghan-ul-Mohmin