HomeSetup

The ultimate Terminal experience

HomeSetup

The ultimate Terminal experience

Terminal License Release Gitter Donate Build

Are you passionate about the terminal and CLI? If so, you’ve come to the right place, especially if you’re a command line enthusiast. Terminal dotfiles are well-known for improving productivity and streamlining everyday tasks. While there are numerous frameworks available to assist with this, many of them come with a steep learning curve and are primarily targeted towards individuals with strong programming skills. Additionally, these frameworks often employ esoteric syntax, requiring an additional effort to fully utilize their features.

Wouldn’t it be fantastic if we could effortlessly upload and download our configurations, dotfiles, packages, and customizations to the cloud? This is where HomeSetup comes in. It provides a solution that simplifies the process, allowing you to leverage the power of the cloud seamlessly.

With HomeSetup, you can enhance your terminal experience, boost productivity, and customize your shell to suit your preferences all without the complexities often associated with other frameworks. HomeSetup was specifically developed to enhance the command line experience for users. Its primary objective is to provide useful and user-friendly features that expedite daily tasks, such as time tracking, string and file searching, directory navigation, and seamless integration with popular tools like Git, Gradle, Docker, and more.

THIS IT NOT JUST A DOTFILES FRAMEWORK

asciicast

Key Features

Catalina moved from bash to zsh

Starting with the Catalina version of macOS, the default shell has been switched to Zsh. Nonetheless, you retain the flexibility to change the default shell back to bash. To accomplish this, you can utilize the following command:

sudo chsh -s /bin/bash

If Apple decides to remove Bash from future macOS releases, you can always rely on Homebrew’s version. In such cases, the path to the shell may differ. Here’s an alternative approach:

brew install bash
sudo chsh -s /usr/local/bin/bash

Installation

Operating Systems

While it’s possible to install HomeSetup on other Linux distributions and it might work, it’s important to note that there are no guarantees of its full functionality or compatibility.

Supported Shells

Terminal configuration

To visualize the Font-Awesome unicode icons, you’ll need a compatible nerd font. We recommend using the font we provide with the installation:

Droid font.

Linux users: Some terminals already support icons, but if not, you can manually install the font.

Mac users: We suggest using one of the terminal profiles listed below to ensure optimal icon display:

Terminal App (Darwin)

HomeSetup Terminal

iTerm2 App (Darwin)

HomeSetup iTerm2

When your terminal is set, then you should see something like this:

Try-it first

Running HomeSetup in a Docker container offers a convenient and isolated environment for testing purposes, ensuring that your machine remains unaffected during the evaluation process. Use one of the following image below:

docker run --rm -it yorevs/hhs-centos
docker run --rm -it yorevs/hhs-ubuntu
docker run --rm -it yorevs/hhs-fedora
docker run --rm -it yorevs/hhs-alpine

Remote installation

This is the recommended installation method. You can install HomeSetup directly from GitHub by executing one of the following commands:

curl -o- https://raw.githubusercontent.com/yorevs/homesetup/master/install.bash | bash

or

wget -qO- https://raw.githubusercontent.com/yorevs/homesetup/master/install.bash | bash

Local installation

Clone the HomeSetup repository:

git clone https://github.com/yorevs/homesetup.git ~/HomeSetup

And then install all dotfiles using the following command:

To install all files at once

cd ~/HomeSetup && ./install.bash

or

To install one by one

cd ~/HomeSetup && ./install.bash -i

Your existing dotfiles (such as .bashrc, .bash_profile, etc.) will be backed up with the ‘.orig’ suffix and stored in the ~/.hhs/backup folder. This ensures that your original dotfiles are safely preserved during the installation process.

Once the installation is completed successfully, you should see the following welcome message:

HomeSetup Welcome

Firebase setup

HomeSetup provides the capability to utilize your Firebase account for uploading and downloading your custom files (dotfiles file synchronization) to your Real-time Database. To utilize this feature, you must first configure your Google Firebase account. Please check the Firebase Setup document for instructions.

Starship Setup

HomeSetup, now, bundles starship prompt. It’s has an out-of-the-box configuration. For a full list of features and configurations please checkout the Starship website. Please check the Starship Plugin document for mode details about HomeSetup / Starship integration.

ColorLS Integration

HomeSetup, now, integrates the new modern ls command ColorLS. HomeSetup will not install it, but once you have installed it, it will be used instead of the built-in ls.

Please check the ColorLS Setup document for more instructions on how to set up ColorLS.

FZF Integration

HomeSetup, now, integrates the modern fuzzy-finder. HomeSetup will not install it, but once you have installed it, it will be used. We have set the common configurations like the key bindings (Ctrl+T [find] and Ctrl+R [history]) and auto-completions. Is also integrates with bat (extended ‘cat’) and fd (extended ‘find’).

Please check the FZF Docs for more usage examples.

Uninstallation

If you choose to uninstall HomeSetup and restore your old dotfiles, you can do so by issuing the following command in a shell:

# HomeSetup $ ./uninstall.bash

The uninstaller will remove all files and folders associated with HomeSetup. The only folder that will remain is the $HHS_DIR (~/.hhs typically), whereas your configurations were stored. After a successful uninstallation, it is safe to delete this folder if you no longer need it, HOWEVER ALL CUSTOM DOTFILES WILL BE GONE.

Support

Your support and contributions are greatly appreciated in helping us improve and enhance HomeSetup. Together, we can make it even better!

You can support HomeSetup by donating or contributing code. Feel free to contact me for further details. When making code contributions, please make sure to review our guidelines and adhere to our code of conduct.

"Buy Me A Coffee"

You can also sponsor it by using our GitHub Sponsors page.

This project is already supported by:

Thank you <3 !!

Final notes

HomeSetup is designed to automatically fetch updates every 7 days from the time of installation. However, if you want to manually ensure that your HomeSetup is up to date, you can run one of the following command in your terminal:

hhs updater execute update

or just

hhu

This will install the latest version of HomeSetup, keeping your setup current and incorporating any new features and improvements. Keeping HomeSetup updated is essential to benefit from the latest enhancements and bug fixes. If you have any questions or encounter any issues during the update process, feel free to reach out for assistance.

Known Issues

Contacts

Enjoy!