# PowerShell Configuration A personalized PowerShell configuration with enhanced productivity features, custom aliases, and beautiful Catppuccin Mocha theming. ## 🚀 Features - **Custom Aliases**: Streamlined commands for common operations - **Catppuccin Mocha Theme**: Beautiful color scheme for PSReadLine - **Enhanced Navigation**: Integrated with zoxide for smart directory jumping - **Starship Prompt**: Modern, informative shell prompt - **EZA Integration**: Modern replacement for `ls` with icons and git integration - **Productivity Tools**: Custom functions for development workflows ## 📁 Files Structure ``` powershell/ ├── Microsoft.PowerShell_profile.ps1 # Main PowerShell profile ├── colours.ps1 # Catppuccin Mocha color definitions └── README.md # This file ``` ## 🛠️ Installation 1. **Clone this repository:** ```bash git clone git@github.com:ijadux2/powershell.git ~/.config/powershell ``` 2. **Install Dependencies:** - **Starship**: `curl -sS https://starship.rs/install.sh | sh` - **Zoxide**: `curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash` - **EZA**: Install via your package manager (e.g., `pacman -S eza` on Arch) - **Fastfetch**: For the `fa` command 3. **Set up PowerShell Profile:** - Windows: Copy `Microsoft.PowerShell_profile.ps1` to `$PROFILE` - Linux/macOS: Ensure it is at `~/.config/powershell/` and referenced in your profile ## 🎨 Theming The configuration uses **Catppuccin Mocha** theme colors for PSReadLine, providing: - Syntax highlighting for commands, parameters, strings, and operators - Inline predictions with subtle styling - Beautiful color-coded output ## 📝 Custom Aliases & Functions ### Navigation - `cd` - Uses zoxide for smart directory jumping - `..` - Go up one directory (with zoxide) - `y` - Open yazi file manager ### File Operations - `ls` - Enhanced listing with eza and icons - `ll`/`l` - Detailed listing with eza - `lt` - Tree view with eza - `v` - Open file in neovim - `t` - Create new file - `mk` - Create directory - `ch` - Make file executable - `open` - Open file with default application ### Git Workflow - `ga` - git add - `gm` - git commit -m - `gp` - git push - `gs` - git status ### System Tools - `fa` - Fastfetch with Arch Linux logo - `install` - Install package with pacman - `remove` - Remove package with pacman - `code` - Open opencode editor ### Utilities - `x` - Clear screen - `source` - Reload PowerShell profile - `th` - Open Thunar file manager - `cm` - Run cmatrix - `:q` - Exit PowerShell (vim-style) ## 🔧 Environment Variables The profile sets up the following environment variables: - `EDITOR` - Set to `nvim` - `PAGER` - Set to `less` - `TERM` - Set to `xterm-256color` - Extended `PATH` for: - `~/.local/bin` - `~/.opencode/bin` - `~/.cargo/bin` - `/home/jadu/codespace/my-lang/nixi/src` (custom path) ## 🎯 PSReadLine Configuration - **Edit Mode**: Emacs-style keybindings - **Prediction**: History-based inline predictions - **Colors**: Catppuccin Mocha themed syntax highlighting ## 🌟 Requirements - PowerShell 7+ - Starship (for prompt) - Zoxide (for smart navigation) - EZA (for enhanced listing) - Neovim (for `v` command) - Yazi (optional, for file management) - Fastfetch (optional, for system info) ## 🤝 Contributing Feel free to fork, modify, and contribute to this configuration. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request. ## 📄 License This configuration is provided as-is for personal use. Feel free to adapt it to your needs. --- **Made with ❤️ for a productive PowerShell experience**