hermes installs programs and configuration files for the command line. The setup is non-intrusive (it does not overwrite existing files by default) and mostly unopinionated. hermes is built for x86_64 and aarch64.
# Download the latest version of hermes and
# place hermes at ${HOME}/.local/bin/hermes
function download_hermes_latest() {
local HERMES="${HOME}/.local/bin/hermes"
local RELEASE_URI_BASE='https://github.com/georglauterbach/hermes/releases'
local VERSION
VERSION=$(curl --silent --show-error --fail --location \
--write-out '%{url_effective}' --output /dev/null \
"${RELEASE_URI_BASE}/latest" | sed 's|.*/||')
mkdir --parents "$(dirname "${HERMES}")"
curl --silent --show-error --fail --location --output "${HERMES}" \
"${RELEASE_URI_BASE}/download/${VERSION}/hermes-${VERSION}-$(uname -m)-unknown-linux-musl"
chmod +x "${HERMES}"
}
download_hermes_latest # download hermes
"${HOME}/.local/bin/hermes" # execute hermesYou can find setup scripts that aid in setting up machines in data/scripts/. You might also want to run bat cache --build to initialize bat's theme cache.
You can find some personal configuration files in data/examples/.
hermes's command line setup focuses on Bash. Use source "${HOME}/.config/bash/90-hermes.sh" in ${HOME}/.bashrc to load the setup. To modify the setup, adjust ${HOME}/.config/bash/91-hermes_settings.sh.
hermes installs additional programs into ${HOME}/.local/bin/.
- Atuin
- "magical" shell history using SQLite rather than a file
- enabled with
HERMES_INIT_ATUIN CTRL+e(orup-arrowwhenHERMES_CONFIG_ATUIN_DISABLE_UP_ARROW=false) brings up the history- setting
HERMES_CONFIG_ATUIN_DB_FILEchanges the database file
- bat
catwith syntax highlighting and git integration- enabled with
HERMES_INIT_BAT, overridecatwithHERMES_OVERRIDE_CAT_WITH_BAT
- ble.sh
- command line editor written in pure Bash which replaces the default GNU Readline
- enabled with
HERMES_INIT_BLE_SH
- btop
- a resource monitor
- consider running
sudo setcap cap_perfmon=+ep "$(command -v btop)"to set theperfmoncapability for btop
- delta
- syntax-highlighting pager for
git,diff,grep, andblameoutput - override
diffwithHERMES_OVERRIDE_DIFF_WITH_DELTA
- syntax-highlighting pager for
- dust
- a more intuitive version of
du
- a more intuitive version of
- dysk
- get information on filesystems, like
df, but better
- get information on filesystems, like
- eza
- fast, modern alternative to
ls - override
lswithHERMES_OVERRIDE_LS_WITH_EZA
- fast, modern alternative to
- fd
- fast, modern alternative to
find - override
findwithHERMES_OVERRIDE_FIND_WITH_FD
- fast, modern alternative to
- fzf
- general-purpose command-line fuzzy finder
- enabled with
HERMES_INIT_FZF
- gitui
- a fast, modern TUI for
git
- a fast, modern TUI for
- jaq
- a
jqclone focussed on correctness, speed, and simplicity - override
jqwithHERMES_OVERRIDE_JQ_WITH_JAQ
- a
- just
- just a command runner
- ripgrep
- fast, modern alternative to
grep - override
grepwithHERMES_OVERRIDE_GREP_WITH_RIPGREP
- fast, modern alternative to
- starship
- minimal, blazing-fast, and infinitely customizable prompt for any shell
- enabled with
HERMES_INIT_STARSHIP
- yazi
- blazing fast terminal file manager
- set/override
ywithHERMES_OVERRIDE_Y_WITH_YAZI - for optional extensions, take a look at the installation documentation
- zoxide
- smarter cd command
- enabled with
HERMES_INIT_ZOXIDE, overridecdwithHERMES_OVERRIDE_CD_WITH_ZOXIDE
- zellij
- terminal workspace with batteries included
The following programs are currently only available on x86_64:
- neovim
- modern, fast and feature-rich editor