Skip to content

Latest commit

 

History

History
93 lines (63 loc) · 2.4 KB

installation.md

File metadata and controls

93 lines (63 loc) · 2.4 KB

Installation

One command installation

Feel free to check the rawinstall.sh script before running it.

curl -fsSL https://raw.githubusercontent.com/curusarn/resh/master/scripts/rawinstall.sh | bash

ℹ️ You will need to have bash, curl, and tar installed.

Clone & install

git clone https://github.com/curusarn/resh.git
cd resh
scripts/rawinstall.sh

Build from source

⚠️ Building from source is intended for development and troubleshooting.

git clone https://github.com/curusarn/resh.git
cd resh
make install

Update

Once installed RESH can be updated using:

reshctl update

Disabling RESH

If you have a persistent issue with RESH you can temporarily disable it and then enable it later.

ℹ️ You won't lose your history nor configuration.

Go to ~/.zshrc and ~/.bashrc and comment out following lines:

[[ -f ~/.resh/shellrc ]] && source ~/.resh/shellrc
[[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh # bashrc only

The second line is bash-specific so you won't find it in ~/.zshrc

You can re-enable RESH by uncommenting the lines above or by re-installing it.

Uninstallation

You can uninstall RESH by running: rm -rf ~/.resh/.

⚠️ Restart all open terminals after uninstall!

Installed files

Binaries and shell files are in ~/.resh/.

Recorded history, device files, and logs are in one of:

  • ~/.local/share/resh/
  • $XDG_DATA_HOME/resh/ (if set)

RESH config file is read from one of:

  • ~/.config/resh.toml
  • $XDG_CONFIG_HOME/resh.toml (if set)

RESH also adds a following lines to ~/.zshrc and ~/.bashrc to load itself on terminal startup:

[[ -f ~/.resh/shellrc ]] && source ~/.resh/shellrc
[[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh # bashrc only

ℹ️ RESH follows XDG directory specification ⇗

Backup files

During update config and history files are backed up to:

  • ~/.config/resh.toml.backup-<timestamp>
  • ~/.local/share/resh/history.reshjson.backup-<timestamp>
  • $XDG_DATA_HOME/resh/history.reshjson.backup-<timestamp> (if set)

Backups allow safe rollbacks during or after installation. They are not deleted automatically. You can delete them with:

rm ~/.config/resh.toml.backup-*
rm ${XDG_DATA_HOME-~/.local/share}/resh/history.reshjson.backup-*