Skip to content

yordisc/dotfiles.exe

Repository files navigation

Maintained GitHub last commit GitHub repo size GitHub commit activity (branch)


πŸͺŸ Dotfiles.exe (Windows OS) πŸ›

Personal Windows configuration and setup scripts for a clean, optimized development environment.

Desktop

πŸ“‘ Table of Contents

  1. Prerequisites
  2. Quick Start
  3. Manual Installation
  4. Post-Installation
  5. Troubleshooting
  6. Credits

Prerequisites

Before starting, ensure you have:

  • Windows 10/11 (64-bit) - Fresh installation recommended
  • Internet connection - Required for downloads
  • Administrator access - All scripts require elevated privileges
  • At least 10GB free space - For tools and programs

πŸ“€ Creating Installation Media

If you need to install Windows first:

ISO Download:

USB Creation Tools:


Quick Start

πŸš€ Automated Installation (Recommended)

Run this command in PowerShell as Administrator:

# Enable script execution
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

# Download and run setup script
irm https://raw.githubusercontent.com/yordisc/dotfiles.exe/master/setup.ps1 | iex

This will:

  1. Check prerequisites
  2. Install all required tools
  3. Clone this repository
  4. Execute configuration scripts
  5. Install programs
  6. Apply customizations

Manual Installation

If you prefer step-by-step installation or the automated script fails:

Phase 1: System Preparation

Step 1.1: Update Windows

# Open PowerShell as Administrator
Start-Process powershell -Verb RunAs

# Check for updates
Install-Module PSWindowsUpdate -Force
Get-WindowsUpdate
Install-WindowsUpdate -AcceptAll -AutoReboot

Step 1.2: Activate Windows

Option A: Purchase License

Option B: Use KMS Activation (Temporary - for testing)

REM Run CMD as Administrator
slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43
slmgr /skms kms.digiboy.ir
slmgr /ato

Step 1.3: Check PowerShell Version

$PSVersionTable.PSVersion

# If version is less than 7.0, proceed to next step

Phase 2: Essential Tools Installation

IMPORTANT: Install these tools IN ORDER before cloning the repository.

Step 2.1: Install PowerShell 7.4

# Download and install silently
winget install Microsoft.PowerShell --silent

# Or use direct installer
Invoke-WebRequest -Uri "https://github.com/PowerShell/PowerShell/releases/download/v7.4.0/PowerShell-7.4.0-win-x64.msi" -OutFile "$env:TEMP\PowerShell-7.4.0-win-x64.msi"
msiexec.exe /package "$env:TEMP\PowerShell-7.4.0-win-x64.msi" /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1 ADD_PATH=1

# Restart terminal after installation

Step 2.2: Install WinGet (if not present)

# Check if WinGet is installed
winget --version

# If not found, install from Microsoft Store or manually:
Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -OutFile "$env:TEMP\winget.msixbundle"
Add-AppPackage -Path "$env:TEMP\winget.msixbundle"

Step 2.3: Install Git

winget install Git.Git --silent

# Restart terminal to load Git in PATH

Step 2.4: Install Group Policy Editor (gpedit.msc)

Download and run manually:

Or wait until repository is cloned to use included script.


Phase 3: Clone Repository

# Navigate to home directory
cd ~

# Clone this repository ONCE
git clone https://github.com/yordisc/dotfiles.exe
cd dotfiles.exe

# Verify you're in the correct directory
Get-Location

Phase 4: System Configuration

Now that you have the repository, run the configuration scripts IN ORDER:

Step 4.1: Install Gpedit (if not done)

# From dotfiles.exe directory
.\scripts\01-prerequisites\gpedit-install.bat

Step 4.2: Install Scoop Package Manager

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Invoke-RestMethod get.scoop.sh | Invoke-Expression

# Install essential Scoop packages
scoop install neofetch
scoop bucket add extras

Step 4.3: Install Fonts

# Download Nerd Fonts
Invoke-WebRequest -Uri "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/Hack.zip" -OutFile "$env:TEMP\Hack.zip"
Expand-Archive -Path "$env:TEMP\Hack.zip" -DestinationPath "$env:TEMP\Hack"

# Install fonts (requires manual installation on Windows)
# Navigate to: Control Panel > Fonts
# Drag and drop font files from $env:TEMP\Hack
explorer.exe "$env:TEMP\Hack"
Write-Host "Please install fonts manually by dragging them to the Fonts window"
pause

Or install via command (requires admin):

.\scripts\02-system-setup\install-fonts.ps1

Phase 5: System Cleanup & Optimization

Step 5.1: Remove Bloatware

# Basic cleanup - removes pre-installed apps and disables telemetry
.\scripts\02-system-setup\LimpiarWindows.bat

Step 5.2: Advanced Tweaks

# Additional optimizations
cd ~
git clone https://github.com/IgorGiraffa/Windows-10-tweaker
cd Windows-10-tweaker
.\tweaker.ps1

# Return to dotfiles directory
cd ~/dotfiles.exe

Step 5.3: Windows 10 Modifier (Optional)

cd ~
git clone https://github.com/aikoncwd/win10script
cd win10script
.\aikoncwd-win10-script.vbs

# Return to dotfiles directory
cd ~/dotfiles.exe

Phase 6: Program Installation

Option A: Using WinGet-UI (Graphical Interface)

winget install wingetui

# Then open WinGet-UI and import package list
.\wingetinstallers\package-list.json

Option B: Using WinGet-Install-GUI

cd ~
git clone https://github.com/Romanitho/Winget-Install-GUI
cd Winget-Install-GUI/Sources
.\Winget-Install-GUI.ps1

# Select programs from: ~/dotfiles.exe/wingetinstallers

Option C: Bulk Install via Script

# Install all programs from list
.\scripts\03-programs\install-programs.ps1

Essential Programs Included:

  • Development: VSCode, Git, Node.js, Python
  • Browsers: Chrome, Firefox
  • Utilities: 7-Zip, PowerToys, Everything
  • Communication: Discord, Slack
  • Media: VLC, ShareX

Additional Software (Manual Download):


Phase 7: Terminal Customization

Install Oh My Posh

# Install Oh My Posh
winget install JanDeDobbeleer.OhMyPosh

# Install Terminal Icons module
Install-Module -Name Terminal-Icons -Repository PSGallery -Force

# Apply PowerShell profile
.\scripts\04-customization\apply-powershell-profile.ps1

# Or manually copy profile
Copy-Item -Path ".\PowerShell\Microsoft.PowerShell_profile.ps1" -Destination $PROFILE -Force

# Reload profile
. $PROFILE

Configure Windows Terminal (Optional)

# Copy Windows Terminal settings
Copy-Item -Path ".\config\terminal-settings.json" -Destination "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" -Force

Post-Installation

βœ… Verify Installation

# Check installed versions
pwsh --version
git --version
winget --version
scoop --version
oh-my-posh --version

# Test neofetch
neofetch

βš™οΈ Optional Configurations

Enable WSL (Windows Subsystem for Linux)

wsl --install
# Restart computer

Repair GRUB (Dual Boot Systems)

If you have a dual-boot setup with Linux:

Option 1: Boot Repair (Ubuntu-based)

Option 2: Fedora GRUB Repair

sudo grub2-mkconfig -o /etc/grub2.cfg
sudo grub2-mkconfig -o /etc/grub2-efi.cfg

Troubleshooting

Common Issues

"Execution of scripts is disabled on this system"

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

Git not recognized after installation

# Restart PowerShell terminal
# Or add to PATH manually:
$env:Path += ";C:\Program Files\Git\cmd"

WinGet not found

# Install App Installer from Microsoft Store
# Or download manually from GitHub releases

Scripts fail with permission errors

# Always run PowerShell as Administrator
Start-Process powershell -Verb RunAs

Windows Repair Tools

Repair Windows Image (DISM)

Online Repair:

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Offline Repair:

DISM /Image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim

Hard Drive Issues

  • HDD Regenerator - For bad sector repair
  • Use Windows built-in checker: chkdsk C: /F /R

Driver Problems

# Update all drivers via Windows Update
Install-Module PSWindowsUpdate -Force
Get-WindowsUpdate -Install -AcceptAll -IgnoreReboot

# Or use Driver Booster (third-party)

πŸ’― Resources & Credits

Useful Links

Guides Used

Credits


πŸ‡»πŸ‡ͺ Connect


License

This project is licensed under the MIT License - see the LICENSE file for details.


Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Note: This setup is designed for development environments. Some scripts disable security features - use at your own risk and understand what each script does before running it.