Hermes configures Ubuntu by installing various packages and placing (new) configuration files. The configuration enhances the out-of-the-box experience of Ubuntu. It will automatically detect the installed version (starting from Ubuntu 23.10 "Mantic Minotaur"). You can also optionally install and configure the GUI.
Important
|
Only x86_64 (full support) and aarch64 (only non-GUI) are supported.
|
The installation script can be downloaded and executed in the terminal.
$ curl -sSfL https://raw.githubusercontent.com/georglauterbach/hermes/main/setup.sh | bash
If you want to configure your graphical user interface too, you can use the --gui
flag. With this flag, additional programs are installed that are only necessary when you have a GUI.
You may also use the --local-installation
flag when you cloned this repository. This flag will causes the setup to be completely local, without requiring an internet connection. Only this repository has to be cloned in its entirety.
Additonally, you can specify a version with --version <GIT TAG>
to download and use a specific version. This feature is mutually exclusive with --local-installation
and throws an error when used together.
This project provides two "hooks" that you may use to adjust the configuration of the console. These hooks are files that are sourced during the setup process in ${HOME}/.bashrc
. You have two ways of running these hook.
-
You can either define the environment variables
HERMES_CUSTOM_EARLY_SCRIPT
andHERMES_CUSTOM_LATE_SCRIPT
that contain the path to the files you want to source. -
You can use
${HOME}/.config/bash/20-custom_early.sh
and${HOME}/.config/bash/99-custom_late.sh
as these paths are the default paths.
You should only use the early initialization when you need to change the configuration that this project loads itself. The late configuration is recommended and used when you want to supply configuration on top of this project.
By default, this project does not load the full configuration of the shell. You can individually add more configuration by setting the value of the following environment variables to true
:
Where you define these variables does not matter; we need access to them when .bashrc
is souced. You may optionally also export
them in the early init script.
Under the ./misc/
directory, you can find additional setup scripts that aid in setting up machines.
You might want to take a look at the following outstanding projects. Their installation does not yet come with Hermes.
-
akinomyoga/ble.sh
: command line editor that replaces the default GNU Readline -
volian/nala
: frontend forlibapt-pkg
Tip
|
Check out cargo-bins/cargo-binstall first. This way, you may be able to save yourself time by not requiring local compilation; use cargo binstall instead of cargo install .
|
-
mozilla/sccache
: compiler wrapper that avoids compilation when possible -
Canop/bacon
: background Rust code checker -
zellij-org/zellij
: terminal workspace (multiplexer) -
casey/just
: command runner