-
Notifications
You must be signed in to change notification settings - Fork 4
Installation
As psh was initially build as a simple install script for zsh, the focus lays on an easy installation process - while still being powerfull enough to generate huge and personalized .zshrc's. While the installation process is straight forward . only Linux distributions that ship with apt
as package manager are currently compatible. You can run the script in an unattended mode when using a specific parameter. You can also specify a specific user for which psh will be installed when running the script as root. If you run the script as root, specify a specific user and use --unattended
, you can use psh in an automated install script.
The quick install is a great choice with you don't have many time for the installation. Just check if your system is compatible with psh and run the below command. If you have an fork of psh, replace the GitHub repository URL with the one of your repository!
Short explaination what the following command does:
- It is not just one command, its seven commands chained together!
- It will check for updates
apt update
and then install themapt upgrade
. - It will install git.
- It will clone this repository.
- It will change into the directory that has been created while cloning this repository.
- It will make the
install.sh
script executable - It will execute the
install.sh
script - The installer will guide you through the standard installation process
Copy this command and execute it to quickly install psh:
sudo apt update && sudo apt upgrade && sudo apt install git && git clone https://github.com/pascal-zarrad/psh.git && cd psh && chmod +x install.sh && ./install.sh
If you want further information about the installation, read the full guide.
The normal installation process is using the same commands as the quick install, but with further explaination.
Use the following concatenated command to ensure that git is installed.
sudo apt update && sudo apt upgrade && sudo apt install git
This gathers the newest information, upgrades existing packages and installs git. Git is a version control system that is used to download psh. It is also used to keep it up to date. Git should be known to the most software developers and Linux users out there, if not check this link.
Now clone this repository to collect all required installation files.
git clone https://github.com/pascal-zarrad/psh.git
Cloning the repository will download all files of the project that you need to use psh.
After cloning psh, you will find a psh
folder. Switch your current working directory to it.
cd psh
From here you are able to customize psh. You can create custom user templates to load zshrc-snippets, or create entire plugins with a more complex logic, to generate content for your .zshrc
.
Usually, after cloning the repository, the installer script is not executable. You have to make it executable by using chmod
.
chmod +x install.sh
Now execute the install script. The instalation script will guide you through the installation. Prepare your sudo
password and agree that you want to configure zsh using psh.
./install.sh
In conclusion, this is the entire installation of psh. If you accepted, that zsh should be set as your default shell, it will be used after you re-login.
If you want to manually switch to zsh, simply use the zsh
command from your current shell.
The Windows subsystem for Linux (WSL 1) has by default some permission issues when used with git. After launching zsh for the first time, you will encounter an warning from compinit
, simply accept it and run the fix-wsl.sh
. This script will fix the permissions of all antigen bundles located at ~/.antigen/
.
The following arguments can be passed to the install.sh
:
Argument | Function |
---|---|
[USER] | User that will receive psh (Requires root) |
--help |
Print a list with all available arguments |
--disable-templates |
Disable the template engine during installation |
--disable-plugins |
Disable the plugin system during installation |
--unattended |
Run an installation without any yes/no dialogs. |
Please refer to updating, if you want to update psh.
psh - a .zshrc
generation tool that can be customized to fit your needs. Created with ❤️ by its contributors.