/Bash-To-ZSH-Initialization

The "Bash-To-ZSH-Initialization" script aims to streamline the transition from the Bash shell environment to Zsh. It automates the process of installing and configuring Zsh along with commonly used plugins and configurations, providing an enhanced and personalized user experience for Zsh users.

Primary LanguageShellMIT LicenseMIT

Bash-To-ZSH-Initialization Script

πŸ“ Description

The "Bash-To-ZSH-Initialization" script aims to streamline the transition from the Bash shell environment to Zsh. It automates the process of installing and configuring Zsh along with commonly used plugins and configurations, providing an enhanced and personalized user experience for Zsh users.

πŸš€ Features

βœ”οΈ Detect Package Manager: Detect the package manager being used and execute appropriate actions.

βœ”οΈ Update and Install Packages: Update and install necessary packages using the appropriate package manager.

βœ”οΈ Install Oh My Zsh: Install the Oh My Zsh framework for Zsh customization.

βœ”οΈ Clone Zsh Plugins: Clone Zsh plugins from GitHub repositories to enhance Zsh functionality.

βœ”οΈ Remove Existing Zsh Configurations: Remove existing Zsh configuration files if present.

βœ”οΈ Download and Move Configuration Files: Download new Zsh configuration files and move them to appropriate locations.

βœ”οΈ Clean Up: Clean up temporary files and directories after completion.

βœ”οΈ Set Zsh as Default Shell: Prompt the user to set Zsh as the default shell and execute the change.

βš™οΈ Plugins installed

These plugins enhance the functionality of Zsh by providing various features such as command auto-suggestion, advanced syntax highlighting, improved file system navigation, and more.

  • git
  • zsh-autosuggestions
  • zsh-syntax-highlighting
  • you-should-use
  • zsh-bat
  • thefuck
  • z
  • fzf
  • extract
  • command-not-found

πŸ› οΈ Compatible Hardware

Tested successfully on the following systems:

βœ”οΈ RaspberryPiOS 2022-04-04 - Debian 11 - Linux Kernel 5.15

βœ”οΈ MacOS

βœ”οΈ WSL: Arch Linux

βœ”οΈ WSL: Ubuntu

πŸ› οΈ Setup

Clone the project using the following git command:

git clone https://github.com/MushuDG/Bash-To-ZSH-Initialization.git

Assign the appropriate permissions with the chmod command:

chmod -R 740 ./Bash-To-ZSH-Initialization/

πŸš€ Installation

Run install script:

cd ./Bash-To-ZSH-Initialization
./install.sh

Fonts

Powerlevel10k doesn't require custom fonts but can take advantage of them if they are available. It works well with Nerd Fonts, Source Code Pro, Font Awesome, Powerline, and even the default system fonts. The full choice of style options is available only when using Nerd Fonts.

πŸ‘‡ Recommended font: Meslo Nerd Font patched for Powerlevel10k. πŸ‘‡

Meslo Nerd Font patched for Powerlevel10k

Gorgeous monospace font designed by Jim Lyles for Bitstream, customized by the same for Apple, further customized by AndrΓ© Berg, and finally patched by yours truly with customized scripts originally developed by Ryan L McIntyre of Nerd Fonts. Contains all glyphs and symbols that Powerlevel10k may need. Battle-tested in dozens of different terminals on all major operating systems.

Automatic font installation

If you are using iTerm2 or Termux, p10k configure can install the recommended font for you. Simply answer Yes when asked whether to install Meslo Nerd Font.

If you are using a different terminal, proceed with manual font installation. πŸ‘‡

Manual font installation

  1. Download these four ttf files:

⚠️ Notes

  • Make sure to review the script before execution.
  • The script assumes an internet connection for package installation.
  • Optionally set Zsh as the default shell for the current user.

πŸ“„ License

This script is released under the MIT license.