https://github.com/mkabumattar/powershell-profile
Welcome to my PowerShell profile! Here, you'll find a curated collection of functions, aliases, and settings tailored to enhance my PowerShell workflow, making it both more enjoyable and productive.
https://github.com/mkabumattar/powershell-profile
dotfiles-windows powershell-profile powershell-script
Last synced: 3 months ago
JSON representation
Welcome to my PowerShell profile! Here, you'll find a curated collection of functions, aliases, and settings tailored to enhance my PowerShell workflow, making it both more enjoyable and productive.
- Host: GitHub
- URL: https://github.com/mkabumattar/powershell-profile
- Owner: MKAbuMattar
- License: mit
- Created: 2024-05-08T19:32:23.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-04T19:47:21.000Z (12 months ago)
- Last Synced: 2025-03-04T20:19:28.257Z (12 months ago)
- Topics: dotfiles-windows, powershell-profile, powershell-script
- Language: PowerShell
- Homepage:
- Size: 146 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# My PowerShell Profile
Welcome to my PowerShell profile! Here, you'll find a curated collection of functions, aliases, and settings tailored to enhance my PowerShell workflow, making it both more enjoyable and productive.
## Table of Contents
- [Quick Setup (Windows)](#quick-setup-windows)
- [The Profile Architecture](#the-profile-architecture)
- [Features](#features)
- [Modules](#modules)
- [Contributing](#contributing)
## Quick Setup (Windows)
Jumpstart your PowerShell experience with just one command. This script will download and execute `setup.ps1`, which initializes the profile, installs necessary modules, and configures basic settings.
```powershell
irm "https://raw.githubusercontent.com/MKAbuMattar/powershell-profile/main/setup.ps1" | iex
```
## The Profile Architecture
This PowerShell profile is organized into several modules, each with its own specific functionality. This modular design allows for better organization, easier maintenance, and the ability to load only the necessary components.
## Features
This PowerShell profile script includes:
- **UTF-8 Encoding**: Ensures consistent character display by setting console encoding to UTF-8.
- **Comprehensive Module Management**: Automatically checks for and installs essential PowerShell modules such as Terminal-Icons, PowerShellGet, CompletionPredictor, PSReadLine, and Posh-Git to enrich the shell experience.
- **Enhanced PSReadLine Configuration**: Customizes PSReadLine options and key handlers for a more intuitive and powerful command-line editing experience (e.g., history search, custom keybindings).
- **Custom Modular Functionality**: Imports a suite of custom modules for specialized tasks including environment management, logging, Starship prompt integration, automated updates, and various utilities. See the [Modules](#modules) section for details.
- **Dynamic Starship Prompt**: Integrates the Starship cross-shell prompt, providing a rich, context-aware, and customizable command-line interface.
- **Chocolatey Integration**: Automatically sets up and imports the Chocolatey profile if Chocolatey package manager is installed, streamlining software management.
- **Automated Profile and PowerShell Updates**: Includes functions to automatically update the profile itself and the PowerShell version, keeping the environment current (controlled by global variables).
- **Intelligent Default Editor Configuration**: Sets the default text editor by detecting the availability of preferred editors like Neovim (nvim), Vim (vi), VS Code (code), or falling back to Notepad.
- **FastFetch System Information**: Optionally runs FastFetch (if available) on startup to display a quick summary of system information.
## Modules
Below is a list of the available modules. Click on a module name to view its detailed documentation.
- [Directory Module](./Module/Directory/README.md)
- [Docs Module](./Module/Docs/README.md)
- [Environment Module](./Module/Environment/README.md)
- [Logging Module](./Module/Logging/README.md)
- [Network Module](./Module/Network/README.md)
- [Plugins Module](./Module/Plugins/README.md)
- [Process Module](./Module/Process/README.md)
- [Starship Module](./Module/Starship/README.md)
- [Update Module](./Module/Update/README.md)
- [Utility Module](./Module/Utility/README.md)
## Contributing
Contributions are welcome! Please consider creating a [CONTRIBUTING](.github/CONTRIBUTING.md) file with guidelines for how others can contribute to this project.
## **License:**
This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.