Windows configuration with Komorebi tiling window manager, whkd hotkey
daemon, and YASB status bar - keybinds ported 1:1 from the Linux/Hyprland
setup (Super mapped to Alt).
The installation script requires administrator privileges (winget installs,
long-path registry key, and writing Zen's autoconfig into Program Files).
Run PowerShell as Administrator before executing the installation.
The installation script installs JetBrainsMono Nerd Font via winget
(DEVCOM.JetBrainsMonoNerdFont) - it is required for the glyphs in the
YASB / komorebi bar. The Nerd Font is used everywhere; the non-patched
JetBrains Mono is not needed. No manual font download required.
The installation script automatically enables long path support in Windows. This is required for proper operation of Komorebi.
The repo uses username_here as a placeholder in machine-specific config
paths (komorebi/YASB wallpapers, etc.). The installation script
automatically substitutes it with $env:USERNAME on copy to
~/.config/, so no manual editing is needed in the common case.
If you copy configs manually (without install.ps1), do the substitution
yourself, e.g.:
(Get-Content -Raw .\yasb\config.yaml) -replace 'username_here', $env:USERNAME |
Set-Content "$env:USERPROFILE\.config\yasb\config.yaml" -Encoding UTF8App launcher keybinds do not hardcode executable paths. whkd/launch.ps1
resolves an app by its Start-menu name via the Windows app index
(Get-StartApps) and launches it through shell:AppsFolder. This survives
reinstalls, version bumps, drive-letter and username changes - nothing to
edit per machine.
A keybind whose app is not installed is a harmless no-op: launch.ps1 exits
quietly (hidden window), the rest of the config keeps working. So unused
launchers (e.g. Antigravity, v2rayN) can stay in whkdrc.
-
Open PowerShell as Administrator
-
Navigate to the Windows config directory:
cd MySetup\Windows
-
Run the installation script:
.\install.ps1
-
After installation completes, finish the manual steps the script prints (Vencord, Zen - see Post-install).
The script handles end-to-end: long paths, winget installs (komorebi, whkd, yasb, JetBrainsMono Nerd Font, Zen Browser, Discord, PowerToys, WinToys, TranslucentTB),
komorebic quickstart, copying configs +launch.ps1with username substitution, autostart, Vencord patch, and the Zen Sine + Catppuccin setup.
-
Install the binaries:
winget install --id LGUG2Z.komorebi --accept-package-agreements --accept-source-agreements winget install --id LGUG2Z.whkd --accept-package-agreements --accept-source-agreements winget install --id AmN.yasb --accept-package-agreements --accept-source-agreements winget install --id DEVCOM.JetBrainsMonoNerdFont --accept-package-agreements --accept-source-agreements
-
Enable long paths support:
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
-
Copy configuration files from the repository root (substitute
username_hereas shown in Path Configuration):Copy-Item -Path '.\Windows\komorebi\*' -Destination $env:USERPROFILE -Recurse -Force New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.config\yasb" Copy-Item -Path '.\Windows\yasb\*' -Destination "$env:USERPROFILE\.config\yasb" -Recurse -Force Copy-Item -Path '.\Windows\whkd\whkdrc' -Destination "$env:USERPROFILE\.config\whkdrc" -Force Copy-Item -Path '.\Windows\whkd\launch.ps1' -Destination "$env:USERPROFILE\.config\launch.ps1" -Force
-
Initialize Komorebi:
komorebic quickstart komorebic enable-autostart --whkd komorebic start --whkd
komorebic quickstartoverwrites~/.config/whkdrcwith a default - re-copy ourwhkdrc(step 3) after running it. -
(Optional) Zen Sine + Catppuccin theme:
.\Windows\zen\setup-zen.ps1
Super is mapped to Alt. Source: Linux/dots/hypr keybinds.
| Keybind | Action |
|---|---|
Alt + Q |
Close focused window |
Alt + H/J/K/L |
Focus left / down / up / right |
Alt + Shift + H/J/K/L |
Move window left / down / up / right |
Alt + [ / Alt + ] |
Cycle focus in container |
Alt + 1..7 |
Focus workspace 1..7 |
Alt + Shift + 1..7 |
Move window to workspace 1..7 |
Alt + Space |
Toggle float |
Alt + Shift + Space |
Toggle monocle |
Alt + P |
Toggle pause |
Alt + Shift + R |
Retile |
Alt + Shift + Enter |
Promote to main |
Alt + - / Alt + = |
Resize horizontal decrease / increase |
Alt + Shift + - / Alt + Shift + = |
Resize vertical decrease / increase |
Alt + X / Alt + Y |
Flip layout horizontal / vertical |
| Keybind | App |
|---|---|
Alt + Enter |
Termius (terminal) |
Alt + Shift + F |
Zen Browser |
Alt + Shift + C |
Cursor |
Alt + Shift + V |
VS Code |
Alt + Shift + D |
DataGrip |
Alt + Shift + A |
Antigravity |
Alt + E |
File Explorer |
Alt + Shift + Q |
Amnezia VPN |
Alt + Shift + N |
v2rayN |
Alt + Shift + I |
Spotify |
Alt + Shift + T |
Telegram |
Alt + Shift + B |
Discord |
-
YASB -
yasbc startif it did not autostart. -
komorebi - verify with
komorebic state. -
Vencord - launch Discord once. If client mods do not appear, rerun:
winget install --id Vendicated.Vencord --override "-install -branch stable"
-
Zen Sine + Catppuccin - open
about:support-> Clear startup cache, then fully restart Zen. Re-runWindows\zen\setup-zen.ps1after Zen browser updates (updates wipe the install-dir autoconfig).
Windows/
├── install.ps1 # Automated installation script
├── komorebi/ # Komorebi configuration
│ ├── komorebi.json # Main Komorebi configuration
│ ├── komorebi.bar.json # Komorebi bar configuration
│ └── applications.json # Application-specific rules
├── whkd/
│ ├── whkdrc # whkd hotkey bindings (komorebi nav + launchers)
│ └── launch.ps1 # Dynamic app resolver (Start-menu index)
├── yasb/ # YASB status bar configuration
│ ├── config.yaml # YASB main configuration
│ └── styles.css # YASB styling
└── zen/
└── setup-zen.ps1 # Zen Sine mod loader + Catppuccin theme
- Komorebi tiling window manager with multiple layout modes (BSP, VerticalStack, HorizontalStack, etc.)
- YASB status bar with system information and workspace indicators
- whkd hotkey daemon with dynamic, path-free app launching
- Application-specific window rules
- Zen Browser with the Sine mod loader and Catppuccin Macchiato Mauve theme (pinned, SHA256-verified Sine archives - parity with the Linux/Nix setup)
- Discord + Vencord - Vencord is patched headlessly during install (winget verifies the installer hash)
- Extras: PowerToys (Microsoft utility suite, manages its own run-at-startup), WinToys (system tweak utility, on-demand - intentionally not auto-started) and TranslucentTB (taskbar styler, auto-starts via a Startup-folder shortcut)
- Komorebi - Tiling window manager
- YASB - Status bar
- whkd - Hotkey daemon
- Sine - Zen/Firefox mod loader
- Vencord - Discord client mod
GPL-3.0