A Rust CLI tool that automates the installation and configuration of PowerShell 7 on Windows with modern terminal enhancements.
This tool automatically sets up a modern PowerShell 7 environment with:
- PowerShell 7 - Latest version installed from GitHub releases
- Oh-My-Posh - Beautiful prompt themes for your terminal
- PSReadLine - Enhanced command-line editing with history search and syntax highlighting
- posh-git - Git status integration in your prompt
- Custom Profile - Pre-configured with useful aliases and settings
- 🚀 One-Command Setup - Run once and get a fully configured PowerShell environment
- 📦 Automatic Installation - Downloads and installs PowerShell 7 if not present
- 🎨 Beautiful Prompts - Oh-My-Posh with the Paradox theme out of the box
- ⚡ Git Shortcuts - Quick aliases for common Git commands (gs, gc, gp, gl, gco, gb, gd)
- 🔍 Smart History - Search command history with arrow keys
- 🌈 Syntax Highlighting - Color-coded commands, parameters, and strings
- ⚙️ Parallel Installation - Installs modules concurrently for speed
- 💪 Fully Customizable - Easy to modify the generated profile to your preferences
Setting up a modern PowerShell environment manually involves:
- Finding and downloading the right PowerShell 7 installer
- Installing multiple PowerShell modules one by one
- Installing Oh-My-Posh via winget
- Writing a custom profile with proper configuration
- Configuring PSReadLine settings and key bindings
- Setting up Git aliases and custom shortcuts
This tool does all of that in one command, saving you 30+ minutes of setup time.
- Windows 10 or Windows 11
- Rust toolchain installed
- winget (Windows Package Manager)
- Administrator rights (for PowerShell 7 installation)
- Clone this repository:
git clone https://github.com/yourusername/setup_powershell.git
cd setup_powershell- Build and run:
cargo run --release- If PowerShell 7 wasn't previously installed, restart your terminal and run again:
cargo run --release- Launch PowerShell 7 to see your new environment:
pwsh| Component | Purpose |
|---|---|
| PowerShell 7 | Modern cross-platform PowerShell |
| PSReadLine | Enhanced command-line editing |
| posh-git | Git integration in prompt |
| Oh-My-Posh | Prompt theming engine |
| Custom Profile | Pre-configured settings and aliases |
The tool configures these convenient Git shortcuts:
gs→git statusgcom -m "message"→git commit -m "message"gpush→git pushgl→git log --oneline --graph --decorate --allgco branch→git checkout branchgb→git branchgd→git diff
Note: The aliases gcom and gpush are used instead of gc and gp to avoid conflicts with PowerShell's built-in aliases (gc = Get-Content, gp = Get-ItemProperty).
ll→ List files (Get-ChildItem)la→ List all files including hidden (Get-ChildItem -Force)
- Installation Guide - Detailed setup instructions
- Usage Guide - How to use the tool and configured features
- Customization Guide - Customize your profile
- Troubleshooting - Common issues and solutions
- Contributing - How to contribute to this project
- Architecture - Technical implementation details
Standard PowerShell prompt with no enhancements.
Oh-My-Posh themed prompt with Git integration, syntax highlighting, and enhanced editing.
Screenshots coming soon
This tool is designed specifically for Windows 10 and Windows 11. PowerShell 7 itself is cross-platform, but this automation tool uses Windows-specific installation methods (msiexec, winget).
MIT License - See LICENSE file for details
- PowerShell Team - For PowerShell 7
- Oh-My-Posh - For beautiful prompt themes
- PSReadLine - For enhanced editing
- posh-git - For Git integration