# Installation Install: * [Ubuntu](#ubuntu) * [Fedora](#fedorarhelcentos) * [Gentoo](#gentoo) * [CentOS](#fedorarhelcentos) * [openSUSE](#opensuse) * [RHEL](#fedorarhelcentos) * [Debian](#debianmint) * [Mint](#debianmint) * [Arch Linux](#arch-linux) * [Scientific Linux](#fedorarhelcentos) * [macOS](#macos) Build: * [build on any Linux distro](#build-on-any-linux-distro) * [build snap](#snap) * [build on Ubuntu](#build-on-ubuntu) * [build on Debian](#build-on-debian) * [build on Fedora](#build-on-fedora) * [build on Windows Subsystem for Linux (WSL)](#build-on-wsl) * [build on Cygwin](#build-on-cygwin) * [build on macOS](#build-on-macos) Tarball: * [build and install tarball](#build-and-install-tarball) # Install Install HSTR using a package. ## Ubuntu Install `hh` on Ubuntu using one-liner: ```bash sudo add-apt-repository ppa:ultradvorka/ppa && sudo apt-get update && sudo apt-get install hh && hh --show-configuration >> ~/.bashrc ``` ... or step by step: ```bash sudo add-apt-repository ppa:ultradvorka/ppa sudo apt-get update sudo apt-get install hh ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Fedora/RHEL/Centos Install `hh` on Fedora, RHEL or CentOS: ```bash sudo dnf install hstr -y ``` ... or: ```bash sudo yum install hstr -y ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). --- If you want to make sure you have the latest version, then download `.rpm` archive from [GitHub releases](https://github.com/dvorka/hstr/releases) and install it: ```bash sudo dnf install ./hstr-..-2.x86_64.rpm -y ``` ## Debian/Mint Install `hh` from PPA. Add [my PPA](http://www.mindforger.com/debian), trust [GPG key](http://www.mindforger.com/gpgpubkey.txt) and install `hh`: ```bash # add PPA to APT sources: sudo echo -e "\ndeb http://www.mindforger.com/debian stretch main" >> /etc/apt/sources.list # import PPA's GPG key wget -qO - http://www.mindforger.com/gpgpubkey.txt | sudo apt-key add - # update sources sudo apt update # install MindForger sudo apt install hstr ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). --- Alternatively you can download and install `.deb` archive from [GitHub releases](https://github.com/dvorka/hstr/releases) section of the project: ```bash dpkg -i hstr_-.._1-amd64.deb ``` ## openSUSE To install `hh` on openSUSE Leap 42.1 run the following commands as root: ```bash zypper addrepo http://download.opensuse.org/repositories/home:tuw-e184/openSUSE_Leap_42.1/home:tuw-e184.repo zypper refresh zypper install hstr ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Gentoo To install `hh` on Gentoo run (HSTR has been added to [Portage](https://bugs.gentoo.org/show_bug.cgi?id=527122)): ```bash emerge app-shells/hstr ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Arch Linux To install HSTR on Arch Linux download latest distribution from [GitHub releases](https://github.com/dvorka/hstr/releases). Use [PKGBUILD](https://wiki.archlinux.org/index.php/PKGBUILD) in the root of the distribution to build package using `makepkg`. https://aur.archlinux.org/packages/hstr-git/ Install `hh`. [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## macOS Install `hh` on macOS using [Homebrew](http://brew.sh/) ([formula](https://formulae.brew.sh/formula/hh)): ```bash brew install hh ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). # Build Build HSTR from source code. ## Build on any Linux distro Clone Git repository: ```bash git clone https://github.com/dvorka/hstr.git ``` Create build files using: ```bash cd ./build/tarball && ./tarball-automake.sh && cd ../.. ``` Build and install `hh` using: ```bash ./configure && make && make install ``` Run HSTR: ```bash hh ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Build snap To build [snap](https://snapcraft.io/) for 'hh' first clone Git repository: ```bash git clone https://github.com/dvorka/hstr.git ``` Make sure that you can build HSTR from source code as described in a "Build on ..." section for your distribution. Install [snapcraft](https://snapcraft.io/) and build snap by running snapcraft in the root of Git repository: ``` $ ls ./snap snapcraft.yaml $ snapcraft ... ``` Find `hh_0+git..._amd64.snap` in the current directory. ## Build on Ubuntu To build `hh` on Ubuntu clone Git repository: ```bash git clone https://github.com/dvorka/hstr.git ``` Install dependencies: ```bash sudo apt install automake gcc make libncursesw5-dev libreadline-dev ``` Create build files using: ```bash cd ./build/tarball && ./tarball-automake.sh && cd ../.. ``` Build and install `hh` using: ```bash ./configure && make && make install ``` Run HSTR: ```bash hh ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Build on Debian To build `hh` on Debian clone Git repository: ```bash git clone https://github.com/dvorka/hstr.git ``` Install dependencies: ```bash sudo apt install autotools gcc make libncursesw5-dev libreadline-dev ``` Create build files using: ```bash cd ./build/tarball && ./tarball-automake.sh && cd ../.. ``` Build and install `hh` using: ```bash ./configure && make && make install ``` Run HSTR: ```bash hh ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Build on Fedora To build `hh` on Fedora clone Git repository: ```bash git clone https://github.com/dvorka/hstr.git ``` Install dependencies: ```bash sudo dnf install autotools ncurses-devel readline-devel ``` Create build files using: ```bash cd ./build/tarball && ./tarball-automake.sh && cd ../.. ``` Build and install `hh` using: ```bash ./configure && make && make install ``` Run HSTR: ```bash hh ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Build on WSL To build `hstr` on [Windows Subsystem for Linux (WSL)](https://msdn.microsoft.com/en-us/commandline/wsl/about) clone Git repository: ```bash git clone https://github.com/dvorka/hstr.git ``` Install dependencies: ```bash sudo apt install automake gcc make libncursesw5-dev libreadline-dev ``` Create build files using: ```bash cd ./build/tarball && ./tarball-automake.sh && cd ../.. ``` Build and install `hstr` using: ```bash ./configure && make && make install ``` It's **important** to finish installation by configuration of `hstr` binding which ensures propagation of chosen command to the prompt: ```bash hstr --show-configuration >> ~/.bashrc . ~/.bashrc ``` Make sure to **run** `hstr` using Ctrlr - otherwise commands will not appear in prompt. [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Build on Cygwin To build `hh` on [Cygwin](https://www.cygwin.com) clone Git repository: ```bash git clone https://github.com/dvorka/hstr.git ``` Create build files using: ```bash cd ./build/tarball && ./tarball-automake.sh && cd ../.. ``` Build and install `hh` using: ```bash ./configure && make && make install ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). ## Build on macOS HSTR can be built on macOS either using [MacPorts](https://www.macports.org/) or [Homebrew](https://brew.sh/). --- To build `hh` using [MacPorts](https://www.macports.org/) install `readline` and `ncurses`: ```bash port install readline port install ncurses ``` Check `portfile` either on [macports.com](https://www.macports.org/ports.php?by=name&substr=hstr) or [GitHub](https://github.com/macports/macports-ports/blob/master/shells/hstr/Portfile): ```bash autoreconf -fvi ./configure CFLAGS=-I/opt/local/include/ LDFLAGS=-L/opt/local/lib make ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). --- To build `hh` using [Homebrew](https://brew.sh/): ```bash autoreconf -fvi ./configure CFLAGS=-I$(brew --prefix)/opt/readline/include LDFLAGS=-L$(brew --prefix)/opt/readline/lib make ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation). # Tarball Download and install HSTR tarball. ## Build and Install Tarball Download latest tarball from [GitHub releases](https://github.com/dvorka/hstr/releases) section. Expand the archive and install `hh` using: ```bash ./configure && make && make install ``` [Configure](CONFIGURATION.md) `hh` and check its [man page](README.md#documentation).