dotfiles-Windows

Native host Stable

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.

Read next