Delivers setup and configuration for your CLI like a god. But actually a glorified tar-decompressor.
hermes places selected programs and configuration files for your user. The configuration is mostly unopinionated, non-intrusive, and tries to enhance the out-of-the-box experience of your CLI. hermes is built for x86_64 and aarch64.
To download the latest version of hermes, run the following commands:
function download_hermes() {
local HERMES_LOCATION="${HOME}/.local/bin/hermes"
local HERMES_RELEASE_URI_BASE='https://github.com/georglauterbach/hermes/releases'
local HERMES_VERSION
HERMES_VERSION=$(curl --silent --show-error --fail --location --write-out '%{url_effective}' --output /dev/null \
"${HERMES_RELEASE_URI_BASE}/latest" | sed 's|.*/||')
mkdir --parents "$(dirname "${HERMES_LOCATION}")"
curl --silent --show-error --fail --location --output "${HERMES_LOCATION}" \
"${HERMES_RELEASE_URI_BASE}/download/${HERMES_VERSION}/hermes-${HERMES_VERSION}-$(uname -m)-unknown-linux-musl"
chmod +x "${HERMES_LOCATION}"
}
# download hermes
download_hermes
# execute hermes
"${HOME}/.local/bin/hermes"- To enable hermes: add
source "${HOME}/.config/bash/90-hermes.sh"to (the end of) your${HOME}/.bashrc - To modify hermes: edit the file
${HOME}/.config/bash/91-hermes_settings.sh
hermes installs additional programs into ${HOME}/.local/bin/. These programs include:
- 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
- bottom
- cross-platform graphical process/system monitor and
<X>topreplacement
- cross-platform graphical process/system monitor and
- ble.sh
- command line editor written in pure Bash which replaces the default GNU Readline
- enabled with
HERMES_INIT_BLE_SH
- 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
- 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
You can find additional setup scripts that aid in setting up machines under the data/scripts/ directory.
You can find setup examples in the data/examples/ directory. A custom GUI setup can be found there too.