Skip to content

malthe-tb/omawin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windows 11 dotfiles

Windows 11 setup inspired by Omarchy.

Omarchy is a beautiful, modern, opinionated desktop.

The goal is to deliver a similar experience on Windows 11: beautiful, modern, opinionated, and predominantly keyboard-driven.

Quick start

Preview the full setup without changing the machine:

.\setup.ps1 -WhatIf

Run the full setup:

.\setup.ps1

That runs software installation, applies configs, and registers the desktop startup task. It also applies the wallpaper from assets\wallpapers\dr15.jpg.

Command menu

Apply configs once to install the local omawin command surface:

.\scripts\apply-configs.ps1

Then open the keyboard menu with Win + Alt + Space, or run it directly:

.\bin\omawin.ps1 menu

The menu exposes common workflows such as starting or restarting the desktop stack, applying or collecting configs, previewing setup, setting wallpaper, and applying themes. The same workflows are available as commands:

.\bin\omawin.ps1 commands
.\bin\omawin.ps1 desktop restart
.\bin\omawin.ps1 theme list
.\bin\omawin.ps1 theme set tokyo-night -Apply

Software

Tool Description
Visual Studio Code Main code editor with extension, settings, and keybinding sync/config support.
Zen Browser Default installed browser, matching the existing Zen-focused web app and browser hotkeys.
Flow Launcher Keyboard-driven app launcher and command palette for Windows.
Everything Very fast local file search/indexing tool for Windows.
Docker Desktop Container runtime and Docker tooling for Windows, mapping Omarchy's Docker baseline to the WSL-backed Windows app.
Windows Terminal Primary terminal emulator, launched with Win + Enter.
Notion Native desktop app, launched with Win + Shift + N.
Spotify Native desktop app, launched with Win + Shift + M.
Todoist Native desktop app, launched with Win + Shift + T.

Web Apps

Browser-backed apps use Microsoft Edge or Chrome app windows instead of normal browser tabs, matching Omarchy's Chromium webapp feel on Windows:

.\bin\omawin.ps1 webapp list
.\bin\omawin.ps1 webapp launch youtube
.\bin\omawin.ps1 webapp launch calendar

Managed webapps are defined in config\webapps.json. Current hotkeys:

Hotkey Target
Win + Shift + M Spotify desktop app
Win + Shift + A ChatGPT webapp
Win + Shift + Y YouTube webapp
Win + Shift + G Gmail webapp
Win + Shift + C Google Calendar webapp
Win + Shift + N Notion desktop app
Win + Shift + T Todoist desktop app

Window management

Tool Description
komorebi Tiling window manager for Windows 10/11.
whkd Simple hotkey daemon commonly used to bind keyboard shortcuts to komorebi commands.
masir Companion service in the komorebi ecosystem, started alongside komorebi when enabled.
tacky-borders Customizable active/inactive window borders for Windows 10/11.

Terminal

Tool Description
Starship Fast cross-shell prompt with a single config file.
fzf Interactive command-line fuzzy finder for files, history, processes, Git branches, and more.
zoxide Smarter cd command that learns frequently used directories.
bat cat replacement with syntax highlighting and Git integration.
eza Modern ls replacement with better defaults, colors, icons, and Git-aware output.
ripgrep Fast recursive text search, exposed as rg.
fd Simple, fast, user-friendly alternative to find.
delta Syntax-highlighting pager for Git diffs, grep, blame, and related output.
mise Project-local dev tool version manager, environment loader, and task runner.
lazygit Terminal UI for Git, used directly and by LazyVim integrations.
Neovim Terminal-native editor with a LazyVim-based repo config under config\nvim.
CaskaydiaMono Nerd Font Nerd Font patched Cascadia Mono variant for terminal icons and glyphs.
Bibata Modern Classic Modern Windows cursor theme installed and activated for the current user.

The PowerShell profile wires common shortcuts such as n for Neovim, ls via eza, cat via bat, and PowerShell-native wrappers for cp, mv, rm, mkdir, and touch.

Startup

This repo includes scripts to start the window-management stack at Windows logon:

.\scripts\register-desktop-startup.ps1

That creates or updates a Scheduled Task named \Dotfiles\Dotfiles Desktop Startup for the current user. It runs:

.\scripts\start-desktop.ps1

The task uses a short delayed logon trigger so Windows has time to initialize the user session before the shell tools start. The startup script currently starts and health-checks:

  • komorebic start --whkd --masir
  • tacky-borders

The komorebi bar config is still managed, but the bar is disabled by default. Start it explicitly when wanted:

.\scripts\start-desktop.ps1 -EnableBar

Config collection

Collect the current machine's known config files into this repo:

.\scripts\collect-configs.ps1

Preview what would be collected without copying files:

.\scripts\collect-configs.ps1 -WhatIf

Collected configs currently live under config\ and include:

  • komorebi
  • whkd
  • tacky-borders
  • PowerShell profile
  • Git config
  • VS Code settings/keybindings/snippets
  • Starship, when present
  • Neovim, when present
  • Windows Terminal settings, when present

Config apply

Apply the configs from this repo to the current machine:

.\scripts\apply-configs.ps1

Preview what would be applied without copying files or installing extensions:

.\scripts\apply-configs.ps1 -WhatIf

Skip VS Code extension installation:

.\scripts\apply-configs.ps1 -SkipVSCodeExtensions

By default, existing destination files/folders are backed up under var\backups\ before being overwritten.

Themes

Generate repo configs for a supported theme:

.\scripts\set-theme.ps1 -Name tokyo-night
.\scripts\set-theme.ps1 -Name gruvbox
.\scripts\set-theme.ps1 -Name ristretto

Preview a theme switch without changing files:

.\scripts\set-theme.ps1 -Name gruvbox -WhatIf

Generate the configs, apply them to the current user, and set the themed wallpaper:

.\scripts\set-theme.ps1 -Name tokyo-night -Apply

Also set the current user's Windows accent color from the theme:

.\scripts\set-theme.ps1 -Name gruvbox -Apply -SetWindowsAccent

Supported themes currently include:

  • tokyo-night
  • gruvbox
  • ristretto

Theme switching currently updates the repo-managed configs for komorebi, komorebi bar, tacky-borders, Windows Terminal, VS Code, and Neovim. The komorebi bar remains opt-in at startup.

Software install

Install the software stack:

.\scripts\install-software.ps1

Preview planned installs without changing the machine:

.\scripts\install-software.ps1 -WhatIf

Useful install subsets:

.\scripts\install-software.ps1 -SkipApps
.\scripts\install-software.ps1 -SkipWindowManagement
.\scripts\install-software.ps1 -SkipTerminal
.\scripts\install-software.ps1 -SkipFonts
.\scripts\install-software.ps1 -SkipCursors
.\scripts\install-software.ps1 -SkipVSCodeExtensions

The installer currently uses winget for the main apps/tools, downloads tacky-borders from the latest GitHub release because it does not currently have a winget package, downloads CaskaydiaMono Nerd Font from the latest Nerd Fonts release, and installs Bibata Modern Classic from the latest Bibata Cursor GitHub release.

Install or update only the cursor theme:

.\scripts\install-bibata-cursor.ps1

Preview the cursor install:

.\scripts\install-bibata-cursor.ps1 -WhatIf

Useful cursor variants:

.\scripts\install-bibata-cursor.ps1 -Color Ice
.\scripts\install-bibata-cursor.ps1 -Color Amber
.\scripts\install-bibata-cursor.ps1 -Size Large
.\scripts\install-bibata-cursor.ps1 -Right

Current winget packages:

Tool Package ID
Git Git.Git
PowerShell 7 Microsoft.PowerShell
Visual Studio Code Microsoft.VisualStudioCode
Zen Browser Zen-Team.Zen-Browser
Flow Launcher Flow-Launcher.Flow-Launcher
Everything voidtools.Everything
Docker Desktop Docker.DockerDesktop
Windows Terminal Microsoft.WindowsTerminal
Notion Notion.Notion
Spotify 9NCBCSZSJRSB
Todoist Doist.Todoist
komorebi LGUG2Z.komorebi
masir LGUG2Z.masir
whkd LGUG2Z.whkd
Starship Starship.Starship
fzf junegunn.fzf
zoxide ajeetdsouza.zoxide
bat sharkdp.bat
eza eza-community.eza
ripgrep BurntSushi.ripgrep.MSVC
fd sharkdp.fd
delta dandavison.delta
mise jdx.mise
lazygit JesseDuffield.lazygit
Neovim Neovim.Neovim

Manual follow-up still needed:

  • Restart shells/apps after installing tools that update PATH.
  • Launch Docker Desktop once after install so it can finish its Windows/WSL initialization. A reboot may be required if Windows enables platform features.

Wallpaper

Set the desktop wallpaper and attempt to set the lock screen image:

.\scripts\set-wallpaper.ps1

Preview without changing anything:

.\scripts\set-wallpaper.ps1 -WhatIf

Useful variants:

.\scripts\set-wallpaper.ps1 -Style Fit
.\scripts\set-wallpaper.ps1 -SkipLockScreen
.\setup.ps1 -SkipWallpaper

The desktop wallpaper is applied per user. The lock screen uses Windows personalization policy registry keys, so that part may require administrator rights and can vary by Windows edition.

About

Preferred software, settings and configurations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors