Awesome
<div align="justify"> <div align="center">NEVER SKIP / IGNORE / AVOID README
<h1>๐ HorneroConfig - Yet another Dotfiles Framework</h1>
Docs | Changelog | Contributing
</div> <!-- center --> <div align="center"> </div> <!-- center --> <h1> <a href="#--------"> <img alt="" align="right" src="https://badges.pufler.dev/visits/ulises-jeremias/dotfiles?style=flat-square&label=&color=000000&logo=github&logoColor=white&labelColor=000000"/> </a> </h1>:octocat: โ <sup><sub><samp>HI THERE! THANKS FOR DROPPING BY!</samp></sub></sup>
You might be here looking for (Linux) rice reference or to (full?) replicate my personal configuration of my favorite Window Managers and several apps as well. โ
HorneroConfig is your artisanal toolkit for crafting the perfect digital workspace. Named after the industrious hornero bird, renowned for its skillful nest-building, our framework empowers you to construct a robust, functional, and personalized computing environment.
Perfectly suited for a wide array of Desktop Environments and Window Managers, HorneroConfig thrives across different platforms including GitHub Codespaces, Gitpod, VS Code Remote - Containers, or even Linux distributions that are not Arch Linux.
Backed by the versatile Chezmoi, HorneroConfig stands out as a dotfiles manager that adapts flexibly to your needs, streamlining machine setup and ensuring consistency across devices. Embrace the spirit of the hornero, and let HorneroConfig transform your configurations into a harmonious blend of elegance and efficiency.
<div align="center">TAP โฒโฐโณ TO NAVIGATE THE HARMONY OF CONFIGURATION
</div>
<a href="#octocat--hi-there-thanks-for-dropping-by">
<picture>
<source media="(prefers-color-scheme: dark)" alt="" align="right" width="400px" srcset="./static/collage.png"/>
<img alt="" align="right" width="400px" src="./static/collage.png"/>
</picture>
</a>
Most were written from scratch. Some details:
- Window Manager ๐ฑ i3 and/or Openbox and/or XFCE!
- Panel ๐ธ Polybar which is a fast and easy-to-use status bar!
- Application Launcher ๐ Rofi which is blazing fast!
- Desktop Notification ๐ฟ Dunst which is minimalist!
- Terminal Emulator ๐ฟ Alacritty which is GPU accelerated!
- Shell ๐ Zsh with several post-installation tweaks!
- Compositor ๐ง Picom fork by FT-Labs for that perfection topping with Animations!
- File Manager ๐ Thunar with a customized side pane!
- Widgets ๐จ Eww with 2 different pre-backed widgets!
- and many more!
Managed with chezmoi
, a great dotfiles manager.
Getting started ๐
You can use a convenient script to install the dotfiles on any machine with a single command. Simply run the following command in your terminal:
sh -c "$(wget -qO- "https://github.com/ulises-jeremias/dotfiles/blob/master/scripts/install_dotfiles.sh?raw=true")"
๐ก We use
wget
here because it comes preinstalled with most Linux distributions. But you can also usecurl
:sh -c "$(curl -fsSL "https://github.com/ulises-jeremias/dotfiles/blob/master/scripts/install_dotfiles.sh?raw=true")"
This will install the dotfiles in ~/.dotfiles
.
Using Chezmoi
This is the recommended method to install HorneroConfig. It will set up the latest stable version of HorneroConfig on your system using Chezmoi, a robust and adaptable dotfiles manager. With Chezmoi, you can easily manage your configuration files across multiple machines, maintaining consistency and simplifying the setup process.
chezmoi init --apply ulises-jeremias --source ~/.dotfiles
This will install the dotfiles in ~/.dotfiles
.
From source
Use this for any OS that is not
Arch Linux
orArch Linux based distro
. This will install unstable versions of HorneroConfig. You can switch to a stable version by using any existing git tag.
git clone https://github.com/ulises-jeremias/dotfiles ~/.dotfiles
~/.dotfiles/install
The installation script allows you to install all the necessary dependencies to make your dotfiles config work correctly.
From the Arch-Linux User Repository (AUR)
-
Using a helper like yay
Install dots-stable
yay dots-stable
or install the rolling release dots-git
yay dots-git
-
Using
makepkg
Install dots-stable
git clone https://aur.archlinux.org/dots-stable.git /tmp/dots-stable cd /tmp/dots-stable makepkg -si
or install the rolling release dots-git
git clone https://aur.archlinux.org/dots-git.git /tmp/dots-git cd /tmp/dots-git makepkg -si
๐จ Post install Customization
You can fork this repository and customize it to suit your preferences and workflow. You are encouraged to maintain a separate GitHub repository of configurations for your own dotfiles and keep this repository as a template!
<details> <summary>Expand to see the steps to customize your environment!</summary>We use Chezmoi to manage the dotfiles. Chezmoi is a sophisticated yet easy-to-use command-line tool that helps you manage your dotfiles across multiple machines. It is designed to be secure, flexible, and easy to use.
To customize the dotfiles, follow these steps:
-
Run the command
chezmoi init --source ~/.dotfiles
to initialize Chezmoi. -
Run the command
chezmoi edit --source ~/.dotfiles
to open the dotfiles directory. -
Customize the dotfiles to suit your preferences and workflow.
-
Run the command
chezmoi apply --source ~/.dotfiles
to apply the changes.
Read more about this at Customization Docs.
๐ก๏ธ Privacy and Security
Although I like making it look as nice as possible, these dotfiles also try to be private and secure!
You can read more about this at Privacy and Security Docs.
๐งช Testing
We use Vagrant to test the installation of HorneroConfig in different Operating Systems and machine architectures.
<details> <summary>Expand to learn how to run a testing environment!</summary>To run the testing environment, just execute the following commands:
git clone https://github.com/ulises-jeremias/dotfiles
cd ./dotfiles
# start the VM
./bin/play
# provision the VM
./bin/play --provision
# remove the VM
./bin/play --remove
# use -h to know more about the available options
</details>
๐ค Contributing
Contributions, issues and feature requests are welcome! Check out the Contributing Guide for more details!
Bellow you can find a list of all the amazing contributors who have made this project possible:
<a href="https://github.com/ulises-jeremias/dotfiles/contributors"> <img src="https://contrib.rocks/image?repo=ulises-jeremias/dotfiles" alt="Contributors"> </a>Made with contributors-img.
</div> <!-- justify -->