Skip to content

georglauterbach/hermes

Repository files navigation

hermes

Delivers setup and configuration for Ubuntu like a god.

About

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.

Usage

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

Additional Setup

Bash

  1. To enable hermes: add source "${HOME}/.config/bash/90-hermes.sh" to (the end of) your ${HOME}/.bashrc
  2. To modify hermes: edit the file ${HOME}/.config/bash/90-hermes_settings.sh

Programs

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 (or up-arrow when HERMES_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, override cat with HERMES_OVERRIDE_CAT_WITH_BAT
  • bottom
    • cross-platform graphical process/system monitor and <X>top replacement
  • 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, and blame output
    • override diff with HERMES_OVERRIDE_DIFF_WITH_DELTA
  • dust
    • a more intuitive version of du
  • dysk
    • get information on filesystems, like df, but better
  • eza
    • fast, modern alternative to ls
    • override ls with HERMES_OVERRIDE_LS_WITH_EZA
  • fd
    • fast, modern alternative to find
    • override find with HERMES_OVERRIDE_FIND_WITH_FD
  • fzf
    • general-purpose command-line fuzzy finder
    • enabled with HERMES_INIT_FZF
  • gitui
    • a fast, modern TUI for git
  • just
    • just a command runner
  • ripgrep
    • fast, modern alternative to grep
    • override grep with HERMES_OVERRIDE_GREP_WITH_RIPGREP
  • 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 with HERMES_OVERRIDE_Y_WITH_YAZI
    • for optional extensions, take a look at the installation documentation
  • zoxide
    • smarter cd command
    • enabled with HERMES_INIT_ZOXIDE, override cd with HERMES_OVERRIDE_CD_WITH_ZOXIDE
  • zellij
    • terminal workspace with batteries included

Supplementary Setup Scripts

You can find additional setup scripts that aid in setting up machines under the data/scripts/ directory.

Examples

You can find setup examples in the data/examples/ directory. A custom GUI setup can be found there too.

About

delivers setup and configuration to your system like a god

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •