config for my powershell
PowerShell 100%

README.md

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:

    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 #

  • 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