A wrapper around pywal16 for Windows. (Original pywal has been archived by author, pywal16 is recommended moving forward).
Art from wallpaperhub
Only 1 backend is needed to get started, but each backend will provide slightly different color schemes.
pywal supports more backends, but I have not tried figuring them all out on Windows yet.
Use pip to install:
- pywal16
- colorthief
- colorz (does not install on arm64 versions of Python on Windows)
- haishoku
For wal Backend, install ImageMagick and add the install directory to your path:
winget install imagemagick.imagemagickWindows on ARM64 Please install the static version of ImageMagick from their downloads to avoid issues.
For schemer2 backend, install Go and run:
go install github.com/thefryscorer/schemer2@latestPowerShell-Core winget install -e Microsoft.PowerShell
Note: PowerShell versions less that 6 don't support JSON with comments
winget install Python.Python.3.13
pip install pywal16 colorthief colorz haishokuClone the repository and update your powershell profile to have:
Import-Module .\path\to\winwal.psm1To open your profile with code:
code $profileAdd winwal to your PowerShell $PROFILE so Update-WalTheme is available in new terminals. If you cloned this repo to C:\Users\you\GitHub\winwal, use:
Import-Module "C:\Users\you\GitHub\winwal\winwal.psm1"If you use Oh My Posh, keep your own theme initialization in $PROFILE with a --config path:
oh-my-posh init pwsh --config "$HOME\.config\oh-my-posh\my-theme.omp.json" | Invoke-ExpressionThen run winwal when you want to refresh colors:
Update-WalThemeOn later runs, winwal updates the wal cache and templates, detects the active Oh My Posh config from $env:POSH_THEME or from oh-my-posh init pwsh --config ... / -c ... lines in your PowerShell profile, and refreshes that same config. If the detected config points to a wal-generated Oh My Posh theme, the refreshed prompt uses the new wal colors; winwal does not switch you to a bundled theme.
If you do not use Oh My Posh, do not add an Oh My Posh line. Starship and other prompt users can keep their existing profile setup; winwal only refreshes Oh My Posh when oh-my-posh is installed and a supported config path is detected.
To update wal cache Windows Terminal Color Scheme using the current wallpaper:
Update-WalThemeTo use a different backend with the current wallpaper:
Update-WalTheme -Backend haishokuTo update wal cache, Windows Terminal Color Scheme, and set the desktop wallpaper:
Update-WalTheme -Image .\path\to\new\background.jpgNotes: winwal will download ColorTool and use it to set the new default color schemes to cmd.exe.
In WSL, you can symlink the wal cache directory to the Windows directory:
ln -s /mnt/c/Users/username/.cache/wal ~/.cache/walThere's also instructions in pywal on setting up your dot files that need to be followed (look for .bashrc instructions).
- wal-theme - Wal Theme for VS Code
- GlassIt-VSC - Transparency for VS Code
- Terminal-Icons (requires using a nerd font)
- oh-my-posh
