dotfiles-Windows
The native Windows host: PowerShell 7 as daily driver, Windows Terminal, scoop/winget, psmux, and the bridge into WSL2.
Highlights
- pwsh profile loader
- scoop + winget
- psmux multiplexer
- WSL2 bridge
How it fits
The Native host layer — The Windows host layer: pwsh, Terminal, the WSL bridge. Unlike the OS repos, it does not vendor Core as a git subtree; the host config is replicated
natively in PowerShell (only nvim and starship are mirrored). See the three-layer model for how the
layers compose.
Getting started
irm https://raw.githubusercontent.com/dotgibson/dotfiles-Windows/main/bootstrap.ps1 | iex
# or clone + install manually:
git clone https://github.com/dotgibson/dotfiles-Windows.git
cd dotfiles-Windows
.\install.ps1 # packages + symlinks (-SkipPackages, -DryRun, -Help)Requires PowerShell 7 (pwsh) and Developer Mode (or run elevated) so symlinks work. The bootstrap one-liner is integrity-gated — verify its pinned SHA-256 before piping to iex.
What actually bites
- No vendored core/ here — Unlike every OS repo, Windows does NOT vendor Core as a git subtree — host config is replicated natively in PowerShell. Only nvim/ and starship.toml are mirrored from Core (via nvim-sync.ps1 / starship-sync.ps1).
- A pwsh loader that mirrors the zsh one — profile.ps1 dot-sources core/ → os/ → local.ps1 in name order, so dropping a core/NN-name.ps1 or os/NN-name.ps1 in is all it takes — same feel as the zsh loader everywhere else.
- No offensive layer — it bridges to one — This is a host/productivity repo only; the offensive role lives on the Kali station inside WSL. kali / cdwsl bridge you there from the host shell.
- Supply-chain-gated bootstrap — bootstrap.ps1 clones over git (pin DOTFILES_REF for an exact checkout) and never pipes a further network script into iex; scoop's installer stays behind the DOTFILES_SCOOP_SHA256 gate.