Professional terminal configuration with 12 profiles and productivity enhancements
| Command Prompt | PowerShell | PowerShell 7 |
|---|---|---|
![]() |
![]() |
![]() |
| Git Bash | Kali Linux | Cmder |
|---|---|---|
![]() |
![]() |
![]() |
| Cygwin |
|---|
![]() |
- 🎨 12 Terminal Profiles - PowerShell, CMD, WSL, Git Bash, Kali Linux
- ⌨️ Productivity Shortcuts - Optimized keybindings for faster workflow
- 🖼️ Custom Backgrounds - Personalize your terminal experience
- 🐧 WSL Integration - Kali Linux and Ubuntu support
- ⚡ PowerShell Profiles - Custom profiles for PS 5.1 and PS 7
- 🛠️ Developer-Friendly - Ready-to-use setup
# Clone repository
git clone https://github.com/ihsansencan/Windows-Terminal-Setup.git
cd Windows-Terminal-Setup
# Run automated installer
install.batRestart Windows Terminal and enjoy! 🎉
- Command Prompt (IHSAN DEV) - Custom styled CMD with enhanced features
- PowerShell - Windows PowerShell 5.1 with custom profile
- PowerShell 7 - Cross-platform PowerShell with custom profile
- Git Bash - Git for Windows BASH environment
- Kali Linux - Penetration testing and security tools
- Ubuntu - Popular Linux distribution via WSL
- Cygwin - Unix-like environment for Windows
- Cmder - Portable console emulator
- Python REPL - Interactive Python shell
- Node.js REPL - JavaScript runtime environment
- Azure Cloud Shell - Cloud-based terminal access
Custom PowerShell profiles are included with:
- PowerShell 5.1 (
profiles/Ps.ps1) - PowerShell 7 (
profiles/Ps7.ps1)
Features:
- Custom ASCII art header with branding
- Timestamp display on startup
- Enhanced prompt customization
- Automatic loading on terminal start
Installation:
# PowerShell profiles are automatically installed by install.bat
# Manual installation (correct paths):
copy "profiles\Ps.ps1" "$env:USERPROFILE\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"
copy "profiles\Ps7.ps1" "$env:USERPROFILE\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"Windows-Terminal-Setup/
├── images/
│ ├── General.png # Main interface screenshot
│ ├── Cmd.png # Command Prompt
│ ├── Ps.png # PowerShell
│ ├── Ps7.png # PowerShell 7
│ ├── GitBash.png # Git Bash
│ ├── Kali.png # Kali Linux
│ ├── Cmder.png # Cmder
│ └── Cygwin.png # Cygwin
├── profiles/
│ ├── settings.json # Terminal configuration
│ ├── Ps.ps1 # PowerShell 5.1 profile
│ └── Ps7.ps1 # PowerShell 7 profile
├── install.bat # Automated installer
├── update.bat # Update existing installation
├── uninstall.bat # Uninstaller script
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT License
└── README.md # This file
- Windows 10/11 (version 1903 or higher)
- Windows Terminal (Download from Microsoft Store)
- PowerShell 7+ - Download
- Git for Windows - Download
- WSL2 - Installation Guide
- Kali Linux:
wsl --install -d kali-linux - Ubuntu:
wsl --install -d Ubuntu
- Kali Linux:
- Python - Download
- Node.js - Download
- Cygwin - Download
- Cmder - Download
install.batThis script will:
- Backup your existing
settings.json(if exists) - Copy terminal configuration to Windows Terminal directory
- Install PowerShell profiles
- Verify installation
-
Backup existing settings (optional):
copy "%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json" settings.backup.json -
Copy terminal settings:
copy profiles\settings.json "%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
-
Install PowerShell profiles:
# For PowerShell 5.1 copy profiles\Ps.ps1 $PROFILE.CurrentUserAllHosts # For PowerShell 7 copy profiles\Ps7.ps1 $PROFILE.CurrentUserAllHosts
-
Restart Windows Terminal
To update your configuration:
update.batThis will:
- Backup current settings
- Apply new configuration
- Preserve custom modifications
To remove the configuration:
uninstall.batThis will:
- Remove custom terminal settings
- Remove PowerShell profiles
- Restore Windows Terminal to default
| Shortcut | Action |
|---|---|
Ctrl + Shift + T |
New Tab |
Ctrl + Shift + W |
Close Tab |
Ctrl + Tab |
Next Tab |
Ctrl + Shift + Tab |
Previous Tab |
Ctrl + Shift + D |
Duplicate Pane |
Alt + Shift + - |
Split Horizontal |
Alt + Shift + + |
Split Vertical |
Ctrl + , |
Open Settings |
Alt + Enter |
Toggle Fullscreen |
Ctrl + Shift + P |
Command Palette |
Edit profiles/settings.json and add a new profile to the profiles.list array:
{
"guid": "{YOUR-UNIQUE-GUID}",
"name": "My Custom Profile",
"commandline": "cmd.exe",
"icon": "C:\\path\\to\\icon.png",
"startingDirectory": "%USERPROFILE%",
"backgroundImage": "C:\\path\\to\\background.jpg",
"backgroundImageOpacity": 0.3,
"fontSize": 12,
"fontFace": "Cascadia Code"
}💡 Generate GUID: Use PowerShell command [guid]::NewGuid()
Edit profiles/Ps.ps1 or profiles/Ps7.ps1:
# Add your custom functions
function Get-SystemInfo {
Get-ComputerInfo | Select-Object CsName, OsName, OsVersion
}
# Add aliases
Set-Alias -Name ll -Value Get-ChildItem
Set-Alias -Name g -Value git
# Customize prompt
function prompt {
Write-Host "[" -NoNewline -ForegroundColor Yellow
Write-Host (Get-Date -Format "HH:mm:ss") -NoNewline -ForegroundColor Cyan
Write-Host "] " -NoNewline -ForegroundColor Yellow
Write-Host (Get-Location) -ForegroundColor Green
return "> "
}Find the GUID of your preferred profile and update in settings.json:
{
"defaultProfile": "{YOUR-PROFILE-GUID}"
}- ✅ Verify Windows Terminal is installed from Microsoft Store
- ✅ Check if
settings.jsonis valid JSON using JSONLint - ✅ Try resetting: Delete
settings.jsonand restart Terminal
- ✅ Ensure required software (Git, WSL, etc.) is installed
- ✅ Verify
commandlinepath exists - ✅ Check GUID is unique (no duplicates)
- ✅ Restart Windows Terminal
- ✅ Check execution policy:
Get-ExecutionPolicy - ✅ Set policy if needed:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - ✅ Verify profile location:
echo $PROFILE - ✅ Test profile manually:
. $PROFILE
- ✅ Install WSL2:
wsl --install - ✅ Install distribution:
wsl --install -d Ubuntu - ✅ Restart Windows Terminal to auto-detect
- ✅ Use full absolute path (e.g.,
C:\\Users\\...\\image.jpg) - ✅ Supported formats: JPG, PNG, GIF
- ✅ Check file permissions and existence
- ✨ 12 pre-configured terminal profiles
- ⚡ Custom PowerShell profiles for PS 5.1 and PS 7
- 🤖 Automated installation, update, and uninstall scripts
- 📚 Comprehensive documentation
- 🖼️ Professional screenshots for all profiles
- ⌨️ Optimized keyboard shortcuts
- 🛠️ Developer-friendly setup
See CHANGELOG.md for detailed version history.
We welcome contributions from the community! 🎉
- Fork the repository
- Create your feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request
- 🎨 Add new terminal profiles
- 📝 Improve documentation
- 🐛 Fix bugs or issues
- 💡 Suggest enhancements
- 📸 Add screenshots
- ⚡ Optimize PowerShell profiles
- 🎯 Add new shortcuts
See CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License.
MIT License
Copyright (c) 2025 Ihsan Sencan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
See LICENSE for full license text.
- Microsoft Windows Terminal Team - For creating an amazing terminal application
- PowerShell Team - For the powerful scripting environment
- WSL Team - For bringing Linux to Windows
- Community Contributors - Everyone who helps improve this project
- Open Source Community - For inspiration and continuous support
- Add more terminal profiles (Debian, Fedora, Arch)
- Create custom color schemes
- Add Oh My Posh integration
- Create video tutorials
- Add automated testing
- Create GUI configuration tool
- Add portable version
- Multi-language documentation
Need help? Here's how to get support:
- 📖 Check the Documentation
- 🐛 Report a Bug
- 💡 Request a Feature
- 💬 Join Discussions







