{"id":31588794,"url":"https://github.com/toolshive/winfig","last_synced_at":"2025-10-06T02:25:28.221Z","repository":{"id":318025303,"uuid":"1069729493","full_name":"ToolsHive/Winfig","owner":"ToolsHive","description":null,"archived":false,"fork":false,"pushed_at":"2025-10-04T16:21:58.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-04T16:25:46.464Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ToolsHive.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-04T14:05:38.000Z","updated_at":"2025-10-04T16:22:01.000Z","dependencies_parsed_at":"2025-10-04T16:25:48.659Z","dependency_job_id":null,"html_url":"https://github.com/ToolsHive/Winfig","commit_stats":null,"previous_names":["toolshive/winfig"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ToolsHive/Winfig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToolsHive%2FWinfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToolsHive%2FWinfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToolsHive%2FWinfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToolsHive%2FWinfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ToolsHive","download_url":"https://codeload.github.com/ToolsHive/Winfig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToolsHive%2FWinfig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278548050,"owners_count":26004830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-06T02:25:22.205Z","updated_at":"2025-10-06T02:25:28.205Z","avatar_url":"https://github.com/ToolsHive.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e 🛠️✨Winfig \u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\n[![PowerShell](https://img.shields.io/badge/PowerShell-5.1+-blue.svg?style=for-the-badge)](https://github.com/PowerShell/PowerShell)\n[![Chocolatey Compatible](https://img.shields.io/badge/Compatible%20with-Chocolatey-ff69b4.svg?style=for-the-badge)](https://chocolatey.org/)\n[![Winget Compatible](https://img.shields.io/badge/Compatible%20with-Winget-228B22.svg?style=for-the-badge)](https://github.com/microsoft/winget-cli)\n[![Windows](https://img.shields.io/badge/Windows-10%2B-0078d4.svg?style=for-the-badge)](https://www.microsoft.com/windows)\n\n[![Issues](https://img.shields.io/github/issues/ToolsHive/Winfig.svg?style=flat-square)](https://github.com/ToolsHive/Winfig.git/issues)\n[![Pull Requests](https://img.shields.io/github/issues-pr/ToolsHive/Winfig.svg?style=flat-square)](https://github.com/ToolsHive/Winfig.git/pulls)\n[![Repo Size](https://img.shields.io/github/repo-size/ToolsHive/Winfig?style=flat-square)](https://github.com/ToolsHive/Winfig.git)\n[![Last Commit](https://img.shields.io/github/last-commit/ToolsHive/Winfig?style=flat-square)](https://github.com/ToolsHive/Winfig.git/commits/main)\n\n\u003c/div\u003e\n\nA small, battle-tested Windows configuration toolkit to bootstrap a developer-friendly environment on a fresh install.\n\n**Highlights**:\n- Minimal, well-tested `PowerShell` scripts and settings\n- Opinionated defaults for productivity and development\n- Modular design for easy customization and extension\n- Focus on essential tools and configurations\n- Designed for both personal and professional use\n\n## Table of Contents\n- [Table of Contents](#table-of-contents)\n- [Features](#features)\n- [Requirements](#requirements)\n- [Installation](#installation)\n  - [Automated Installation](#automated-installation)\n    - [Bootstrap Script](#bootstrap-script)\n    - [What the Bootstrap Script Does](#what-the-bootstrap-script-does)\n    - [Bootstrap Features](#bootstrap-features)\n  - [Manual Installation](#manual-installation)\n- [Post-Deployment Verification](#post-deployment-verification)\n- [Safety \\\u0026 Troubleshooting](#safety--troubleshooting)\n- [Contributing](#contributing)\n  - [Development Workflow](#development-workflow)\n  - [Contribution Standards](#contribution-standards)\n- [License](#license)\n\n\n## Features\n- **Modular Scripts**: Easily customize and extend your setup with modular scripts.\n- **Essential Tools**: Focuses on essential tools and configurations for developers.\n- **Opinionated Defaults**: Comes with sensible defaults to enhance productivity.\n- **Cross-Platform**: While primarily for Windows, it can be adapted for other platforms with minor tweaks.\n- **Custom Dotfiles** : Supports custom dotfiles for personalized configurations.\n- **Automated Setup**: Automates the installation and configuration of tools and settings.\n\n## Requirements\n- Windows 10 or later\n- PowerShell 5.1 or later\n- Internet connection for downloading packages\n- Administrator privileges for certain installations\n\n## Installation\n\nChoose between automated or manual installation methods based on your preference and requirements.\n\n### Automated Installation\n\nThe recommended approach using the `bootstrap.ps1` script for a complete hands-off setup experience.\n\n#### Bootstrap Script\n\nThe bootstrap script is the main entry point that automates the entire Winfig setup process. It handles environment validation, prerequisite installation, and repository setup.\n\n**Quick Start (Recommended):**\n```powershell\n# Run directly from the web (requires Administrator privileges)\nInvoke-RestMethod -Uri \"https://raw.githubusercontent.com/ToolsHive/Winfig/main/bootstrap.ps1\" | Invoke-Expression\n```\n\n#### What the Bootstrap Script Does\n\n1. **Environment Validation** - Verifies system compatibility and requirements\n2. **System Restore Point** - Creates a safety restore point before changes\n3. **Package Manager Setup** - Installs and configures Chocolatey and WinGet\n4. **Git Installation** - Ensures Git is available for version control\n5. **Repository Cloning** - Downloads the complete Winfig configuration to your system\n\n#### Bootstrap Features\n\n- **Comprehensive Logging** - Detailed execution logs for troubleshooting\n- **Interactive Prompts** - User confirmation for critical system changes\n- **Error Recovery** - Robust error handling and fallback mechanisms\n- **Progress Indicators** - Clear visual feedback throughout the process\n- **Safety First** - Automatic system restore point creation\n\n### Manual Installation\n\nFor users who prefer step-by-step control over the installation process.\n\n1. **Install Prerequisites Manually**\n   - Install Chocolatey package manager\n   - Install Windows Package Manager (WinGet)\n   - Install Git for version control\n\n2. **Download and Run Bootstrap Script**\n   ```powershell\n   # Download the bootstrap script\n   Invoke-WebRequest -Uri \"https://raw.githubusercontent.com/ToolsHive/Winfig/main/bootstrap.ps1\" -OutFile \"bootstrap.ps1\"\n   ```\n   ```powershell\n   # Run with administrator privileges\n   .\\bootstrap.ps1\n   ```\n\n3. **Follow Interactive Setup**\n   - The script will clone the repository to the appropriate location\n   - Follow the prompts for configuration options\n   - Complete the setup wizard\n\n\u003e **Note**: Even with manual installation, the bootstrap script handles repository cloning and setup. You only need to manually install the prerequisites first.\n\n## Post-Deployment Verification\n\n1. **Configuration Wizard** - Complete the guided setup process\n2. **System Integration** - Restart system to initialize all components\n3. **Operational Validation** - Execute diagnostic verification procedures\n\n\u003e **Administrative Requirements**: Elevated PowerShell privileges required for proper installation.\n\n## Safety \u0026 Troubleshooting\n\n- Backup important config files before running. Testing in a VM is recommended.\n- If you encounter repeated elevation prompts when using the iwr|iex one-liner, manually run the downloaded script from an elevated PowerShell window.\n- 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.\n- If package manager installs fail, install the package manager (winget/choco) manually and re-run the script.\n\n##  Contributing\n\nProfessional contributions are welcomed from the development community.\n\n### Development Workflow\n\n1. **Repository Fork** - Create independent development branch\n2. **Feature Development** - Implement changes in isolated branch (`git checkout -b feature/enhancement`)\n3. **Code Commitment** - Document changes with descriptive commit messages\n4. **Branch Publication** - Push feature branch to forked repository\n5. **Pull Request Submission** - Submit formal code review request\n\n### Contribution Standards\n\n- **Issue Reporting** - Utilize standardized issue templates for consistency\n- **Enhancement Proposals** - Engage in architectural discussions prior to implementation\n- **Documentation** - Maintain comprehensive documentation standards\n- **Quality Assurance** - Implement comprehensive testing for new functionality\n\n## License\nThis project is distributed under the [**MIT License**](LICENSE) © 2025 Armoghan-ul-Mohmin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoolshive%2Fwinfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoolshive%2Fwinfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoolshive%2Fwinfig/lists"}