What is this project?
This is a complete PowerShell configuration system designed for Windows 11 developers who want a modern, efficient terminal experience. It transforms PowerShell into a powerful development environment with beautiful prompts, smart completions, and integrated CLI tools. The configuration uses a modular architecture with numbered prefixes, making it easy to understand load order and customize individual components without breaking the entire setup.Who is this for?
This configuration is perfect for:- Windows developers who want a Unix-like terminal experience without leaving PowerShell
- DevOps engineers managing both Windows and WSL environments
- Power users who prefer keyboard-driven workflows and modern CLI tools
- Anyone migrating from Fish/Zsh/Bash and wants similar functionality in PowerShell
- Developers who value beautiful, functional terminal environments
This configuration works best with WezTerm terminal emulator and requires a Nerd Font for icon support.
Problems it solves
1. Fragmented PowerShell configuration
Unlike Unix shells with~/.config directories, PowerShell’s $PROFILE often becomes a monolithic file that’s hard to maintain. This project provides:
- Modular structure with separate files for aliases, tools, functions, and completions
- Numbered prefixes (00-init.ps1, 10-environment.ps1, etc.) for clear load order
- Easy debugging - disable individual modules by renaming or moving files
2. Missing modern CLI tools
Windows lacks many Unix tools developers rely on. This configuration integrates:3. Poor terminal experience
Out-of-the-box PowerShell lacks:- ❌ No syntax highlighting in file previews
- ❌ No fuzzy finding for files/history
- ❌ No smart directory jumping
- ❌ Basic, uninformative prompts
- ✅ Oh My Posh - Beautiful, informative prompts with git status
- ✅ FZF integration - Fuzzy find files, directories, and command history
- ✅ PSReadLine - Advanced history search and predictive IntelliSense
- ✅ Vesper color theme - Warm, readable color palette throughout
4. Inconsistent development workflow
Jumping between Windows, WSL, and remote systems creates friction. This setup provides:- Unified git workflows with short aliases (
gs,ga,gc, etc.) - WSL integration helpers for seamless file transfers
- HTTPie shortcuts for API testing (
hget,hpost) - Archive extraction that works like Unix (
extract file.tar.gz)
Key features
Modular configuration system
Modular configuration system
All configuration lives in
~/.config/powershell/ with:conf.d/*.ps1- Loaded in numbered orderfunctions/*.ps1- Custom utilities and helpersMicrosoft.PowerShell_profile.ps1- Entry point that loads everything.gitignore- Excludes machine-specific settings (99-local.ps1)
Modern CLI tools
Modern CLI tools
- fzf - Fuzzy finder for files, directories, history
- bat -
catwith syntax highlighting - eza -
lswith icons and git integration - zoxide - Smart directory jumping
- ripgrep - Fast recursive search
- delta - Beautiful git diffs
- lazygit - Terminal UI for git
- fastfetch - System info display
- btop - Resource monitor
- jq - JSON processor
Smart completions and shortcuts
Smart completions and shortcuts
- PSReadLine - History search with arrow keys, predictive text
- PSFzf - Deep PowerShell + fzf integration
Ctrl+R- Search command historyCtrl+T- Find files with previewAlt+C- Navigate directories
- Terminal-Icons - File and folder icons
- Enhanced tab completions for git, docker, npm, winget, scoop
Custom functions
Custom functions
mkcd- Create directory and cd into itrfv- Ripgrep + fzf interactive search, open in editorjqc- Parse JSON from clipboardbackup- Create timestamped backupsextract- Universal archive extractionreload- Reload PowerShell configuration- WSL helpers -
wsl-here,Copy-ToWSL,Copy-FromWSL
Vesper color theme
Vesper color theme
A warm, readable color palette designed for long coding sessions:
- Dark charcoal background (#101010)
- Warm orange accents (#FFC799)
- Muted, easy-to-read text (#B0B0B0)
- Consistent across FZF, bat, Oh My Posh
