Delivers setup and configuration for Ubuntu like a god.
hermes configures Ubuntu by installing various packages and (re-)placing configuration files. The setup is mostly unopinionated, non-intrusive, and tries to enhance the out-of-the-box experience of Ubuntu. hermes is built for x86_64
and aarch64
.
Note
While optional, I recommend running sudo apt-get --yes update && sudo apt-get --yes upgrade
before using hermes.
To download the latest version of hermes, run the following commands:
HERMES_VERSION="$(curl -sSIL -w '%{url_effective}' -o /dev/null "https://github.com/georglauterbach/hermes/releases/latest" | sed 's|.*/||')"
sudo curl --silent --show-error --fail --location --output /usr/local/bin/hermes "https://github.com/georglauterbach/hermes/releases/download/${HERMES_VERSION}/hermes-${HERMES_VERSION}-$(uname -m)-unknown-linux-musl"
sudo chmod +x /usr/local/bin/hermes
To see the help message and install hermes, run the following commands:
hermes --help
hermes run
To update hermes, run the following command
hermes --version
hermes update # --non-interactive
- 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/90-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-arrow
whenHERMES_CONFIG_ATUIN_DISABLE_UP_ARROW=false
) brings up the history- setting
HERMES_CONFIG_ATUIN_DB_FILE
changes the database file
- bat
cat
with syntax highlighting and git integration- enabled with
HERMES_INIT_BAT
, overridecat
withHERMES_OVERRIDE_CAT_WITH_BAT
- bottom
- cross-platform graphical process/system monitor and
<X>top
replacement
- 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
, andblame
output - override
diff
withHERMES_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
ls
withHERMES_OVERRIDE_LS_WITH_EZA
- fast, modern alternative to
- fd
- fast, modern alternative to
find
- override
find
withHERMES_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
grep
withHERMES_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
y
withHERMES_OVERRIDE_Y_WITH_YAZI
- for optional extensions, take a look at the installation documentation
- zoxide
- smarter cd command
- enabled with
HERMES_INIT_ZOXIDE
, overridecd
withHERMES_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.