Windows
Overview
Windows setup uses:
- PSDotFiles to symlink
home-win/into$HOME - WinGet Configuration files under
win/for package installation
macOS and Linux continue to use GNU Stow with home/.
install-win
This repository is installed at ~/Codes/dotfiles.
Review the script before running:
https://dot.umeru.ma/install-win
Before running install-win, enable Developer Mode (required for symlink creation).
Open the Settings page directly:
Start-Process "ms-settings:developers"In PowerShell (Windows PowerShell 5.1 is OK for the bootstrap; it will re-launch in PowerShell 7):
irm https://dot.umeru.ma/install-win | iexWhat it does:
- Installs PowerShell 7 if needed
- Clones the repo to
~/Codes/dotfiles - Runs
winget configurewithwin/bootstrap.winget(PowerShell 7, Git, mise) - Installs the PSDotFiles module from the PowerShell Gallery
- Runs
mise run deployto linkhome-win/
Deploy dotfiles
From the repo root in PowerShell 7:
cd $env:USERPROFILE\Codes\dotfiles
mise run deployThis runs Install-DotFiles home-win via script/deploy.ps1.
Remove symlinks:
mise run cleanInstall applications
GUI and other apps are listed in win/apps.winget:
mise run install-appsEdit that file to add or remove packages. Each entry uses Microsoft.WinGet.DSC/WinGetPackage with a winget package id.
Preview a configuration file:
winget configure show -f win/apps.wingetRequires WinGet v1.6.2631 or later for winget configure.
PowerShell profile and mise
home-win/Documents/PowerShell/Microsoft.PowerShell_profile.ps1 sets:
$env:DOTFILESdotto jump to the repomise activate pwshon shell start
Use PowerShell 7 (pwsh). mise activation on Windows PowerShell 5.1 is not supported; see mise PowerShell discussion.
Developer Mode (symlinks)
PSDotFiles creates symbolic links. Enable Developer Mode:
Settings → System → For developers → Developer Mode
Or run the deploy shell as Administrator.
If $PROFILE already exists, back it up before the first deploy. On conflict, PSDotFiles reports an error; resolve manually or use PSDotFiles -WhatIf first:
$DotFilesPath = "$HOME\Codes\dotfiles"
Import-Module PSDotFiles
Install-DotFiles home-win -WhatIfhome/ vs home-win/
| Directory | Used on | Tool |
|---|---|---|
home/ | macOS, Linux | GNU Stow |
home-win/ | Windows | PSDotFiles |
Keep Windows-specific files in home-win/ so mac-only tools (Karabiner, Ghostty, etc.) are not deployed on Windows.