PowerShell DevKit is an enterprise-grade automation suite that sets up a complete PowerShell development environment with modern tools, themes, and configurations.
Administrator rights are recommended for the best experience, but most components will install with standard user permissions. Some features may require manual UAC approval.
The setup script will automatically install PowerShell 7+ for you if you're running Windows PowerShell 5.1. PowerShell 7+ is required for full functionality.
Yes! Each component can be uninstalled independently:
# Uninstall via winget
winget uninstall oh-my-posh
winget uninstall yazi
# Uninstall PowerShell modules
Uninstall-Module PSFzfTypically 5-10 minutes depending on your internet connection and whether components are already installed.
Yes! Clone the repository on each machine and run Setup.ps1. The setup is idempotent—it skips already-installed components.
Simply re-run Setup.ps1. Already-installed components will be detected and skipped, and it will continue from where it failed.
Currently, you can skip optional components during setup.
.\Scripts\Update.ps1This updates all winget packages, PowerShell modules, and Yazi components.
Edit the oh-my-posh theme files in Config/oh-my-posh/.
Create them in PowerShell/CustomModules/ or PowerShell/CustomProfile.ps1.
Yes, but Windows Terminal is recommended. The setup auto-configures Windows Terminal. Other terminals may require manual configuration.
Simply type yazi in PowerShell:
yaziMake sure you've reloaded your profile:
. $PROFILE# List available plugins
ya pkg list
# Add a plugin
ya pkg add "username/plugin-name"Yes! The setup clones the configuration from a git repository. You can:
- Fork the yazi_config repository
- Modify
Components.psm1to point to your fork - Customize the configuration in your fork
Install the CascadiaCode Nerd Font:
oh-my-posh font install CascadiaCodeThen set it in Windows Terminal settings.
Ensure winget is installed:
winget --versionIf not installed, update Windows or install App Installer from Microsoft Store.
Trust the PowerShell Gallery:
Set-PSRepository -Name PSGallery -InstallationPolicy TrustedSetup logs are in .\Scripts\Logs\Setup_YYYYMMDD_HHMMSS.log.
# View profile location
$PROFILE
# Open profile
code $PROFILEEdit your profile ($PROFILE) and change the theme path:
oh-my-posh init pwsh --config "path\to\your\theme.omp.json" | Invoke-ExpressionYes! The entire PowerShell-DevKit folder can be version-controlled. Custom modules and profiles are in separate directories that can be synced.
Weekly or monthly is recommended, or whenever you want the latest versions of tools.
No. Custom modules, custom profile, and Yazi local modifications are preserved during updates.
You can schedule Update.ps1 with Windows Task Scheduler, but it's recommended to review updates manually.
Yes! Check the repository for contribution guidelines.
The system uses a component-based architecture with orchestrator scripts (Setup.ps1, Test.ps1, Update.ps1) and a shared component definition module (Components.psm1).
Yes! Components are defined in Scripts/Components.psm1 with properties like Name, Source, and custom installers.
The PowerShell DevKit is designed for Windows PowerShell. For WSL, you'd need to adapt it for Linux package managers and paths.
- Check the Troubleshooting Guide
- Open an issue on GitHub
- Review the full documentation