KylerianHD / Windows-Terminal-Config

My personal configuration- and dotfiles for Windows Terminal.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Windows Terminal Configuration

Table of Contents


Introduction and general information

Welcome to this repo!

Here you can find my Windows Terminal configuration files and commands.

If you have any questions, feel free to ask me using the issue feature or by asking in my questions channel on Discord. You can join my discord server over at https://kylerianhd.com/dc.

If you would like the german version of this readme, you can find it here: https://github.com/KylerianHD/Windows-Terminal-Config.git/blob/main/README-DE.md


Installation

Windows Terminal

To install Windows Terminal, you can either download it from the Microsoft Store or from the official GitHub repository.

Windows Terminal Settings

To install the settings, you can either clone the repo or download the files manually.

Cloning the repo

To clone the repo, you can use the following command:

git clone https://github.com/KylerianHD/Windows-Terminal-Config.git

Please note that you need to have git installed on your system.

Downloading the files manually

To download the files manually, you can use the following link or by clicking the green code button and then clicking download zip.
Link: https://github.com/KylerianHD/Windows-Terminal-Config/archive/refs/heads/main.zip

Powershell

I use Powershell as standard console. To install the Powershell, you can download it from the Microsoft Store.

Nerd Fonts

To install the Nerd Fonts, you can either download them from the official website or from the Nerd Fonts GitHub repository. I personaly use the Roboto Mono Nerd Font.

Oh My Posh

I personaly like the Kali theme the most but that probably just me hacking/pentester brain xD. So feel free to use any theme you like. You can find all the themes with screenshots on there official website.
To configure Oh My Posh and load it to your user profile, you can add the following commands to the user_profile.ps1 file. Make sure that you changed the path to the theme you want to use. Note that the command "Import-Module oh-my-posh" is deprecated. You can find more information about that on the official website linked above.

# Prompt
Import-Module posh-git
# Load prompt config
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\kali.omp.json" | Invoke-Expression

Node.js

You could install Node.js with the command I provided you below but I would recommend to install it with the official installer for Windows. That makes it much easier for most people and especially for beginners.

Git for Windows

Same as Node.js you could install Git for Windows with the command I provided you below but I would also recommend with Git to install it with the official installer for Windows.

PSReadLine

PSReadLine is one of my favorite tools for Powershell. Just with the History and ListView features I improved my workflow a lot espaclly when I forget a command or want to use a command I used before.

To configure PSReadLine and bind it to your user profile, you can add the following commands to the user_profile.ps1 file. Make sure you check out the official GitHub repository for more information and configuration options.

# PSReadLine
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineOption -BellStyle None
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView

Aliases

Aliases are a great way to make your life easier. You can create your own aliases or use the ones I provided you below. Just add the following commands to your user_profile.ps1 file. Make sure you check out the official documentation for more information and configuration options.
Because I am used to linux commands, most of my aliases are based on linux commands. But feel free to edit those like you want.

# Aliases
Set-Alias -Name vim -Value nvim
Set-Alias g git
Set-Alias grep findstr

Set-Alias tig 'C:\Program Files\Git\usr\bin\tig.exe'
Set-Alias less 'C:\Program Files\Git\usr\bin\less.exe'

MOTDs

MOTD stands for Message of the Day. It is a welcome message that is displayed when you open a new Powershell window. You can create your own MOTD or use the one I provided you below. Just add the following commands to your user_profile.ps1 file. Make sure you check out the official documentation for more information and configuration options.

# MOTD (Welcome Message)
cls
Write-Host "

			Welcome!

"

Commands

Oh My Posh

To install Oh My Posh, you can use the following command:

winget install JanDeDobbeleer.OhMyPosh -s winget

Node.js

You can install Node.js, with the following command:

winget install OpenJS.NodeJS
# or for LTS
winget install OpenJS.NodeJS.LTS

Git for Windows

Git for Windows can be installed using the following command:

winget install -e --id Git.Git

Neovim

You can use the following command to install Neovim:

winget install -e --id neovim.neovim

Create user profile and set command alliases

To create a user profile and set command alliases, you can use the following command:

mkdir .config/powershell
nvim .config/powershell/user_profile.ps1
nvim $PROFILE.CurrentUserCurrentHost

Terminal icons

Install the terminal icons, with the following command:

Install-Module -Name Terminal-Icons -Repository PSGallery -Force

PSReadLine

To install PSReadLine, you can use the following command:

Install-Module -Name PSReadLine -AllowPrerelease -Scope CurrentUser -Force -SkipPublisherCheck

Contributing

Issues

If you have any issues, feel free to open an issue using the issue feature.

Pull requests

If you want to contribute to this repo, feel free to open a pull request.

License

This project is licensed under the MIT License - see the information about that here:
https://github.com/git/git-scm.com/blob/main/MIT-LICENSE.txt

Acknowledgments

  • Microsoft for creating Windows Terminal
  • Nerd Fonts for creating/providing the fonts
  • Oh My Posh for creating/providing the themes
  • PSGallery for creating the powershell gallery for all the modules
  • PSReadLine for creating the readline implementation for powershell
  • Node.js for creating the JavaScript runtime environment
  • git for windows for providing git for windows
  • neovim for creating/providing a vim like editor for windows

About

My personal configuration- and dotfiles for Windows Terminal.


Languages

Language:PowerShell 100.0%