HyprTheme is an easy-to-use shell script for setting up and customizing Hyprland themes on ArchLinux / Arch-Based Distros. This script is designed to simplify your setup.
You can use your personal or favorite dotfiles from anywhere on the internet. Simply edit them to automate with the HyprTheme script, and apply them to your setup. If you'd like, you can also contribute your dotfiles to this repository for others to use! If you don’t have any dotfiles of your own, feel free to start with the "default" dotfiles included in HyprTheme, and modify them as you like.
Goals
-
Simplicity: The main objective of HyprTheme is to provide a simple way for users to set up and switch through various themes in Hyprland.
-
Ease Contributions: Make it easy for everyone to contribute themes so that the collaborative environment where themes can be shared and improved remains open.
Features
-
User-Friendly: HyprTheme is beginner-friendly, with easy setup for customizing your Hyprland environment.
-
Automation: HyprTheme automates the setup process, saving users time and effort.
-
Support Customization: The
Hypr_RUN
script, when included by theme creators, runs automatically in HyprTheme. This script is typically developed by the theme owner to install dependencies, configure settings, add further customizations, or perform other setup steps. -
Dynamic Configuration: If a theme creator does not want their configs copied directly, they can use the
Hypr_RUN
script to dynamically generate or modify configuration files based on user choices, bypassing the need for a static config directory. -
Streamlined Uninstallation: Theme maintainers can provide a
Hypr_UNINSTALL
script to handle the uninstallation of their theme. This script ensures specific configurations and dependencies are properly cleaned up, providing a hassle-free removal process for users.
Installation Instructions
-
Clone the repository:
git clone https://github.com/vo1dptr/hyprtheme.git
-
Navigate to the repository directory:
cd hyprtheme
-
Make the HyprTheme script executable if it isn't already:
chmod +x hyprtheme
-
Run the setup script:
./hyprtheme
-
Download the zip file:
-
Using
wget
:wget https://github.com/vo1dptr/hyprtheme/archive/refs/heads/main.zip
-
Using
curl
:curl -LO https://github.com/vo1dptr/hyprtheme/archive/refs/heads/main.zip
-
Or download it directly from the GitHub repository using your web browser.
-
-
Extract the zip file:
unzip main.zip
-
Navigate to the extracted directory:
cd hyprtheme-main
-
Make the HyprTheme script executable if it isn't already:
chmod +x hyprtheme
-
Run the setup script:
./hyprtheme
How It Works
Let’s explain what HyprTheme does and what it changes. While I can’t specify exactly what it changes since each theme can use different utilities and therefore different configuration folders and files, in general, this script is going to do the following:-
Copied Configuration Files: It copies configuration files from the theme's directory to your system.
-
Installs Theme Requirements: If a
Requirements.txt
file exists inside the theme, the packages listed in it will be installed via this script usingpacman
. If a package cannot be installed viapacman
, you must use another package manager likeyay
, or any method you prefer. To do this, you can include the necessary installation steps in theHypr_RUN
script and place it in your theme folder. -
Runs Optional Scripts:
- Hypr_RUN: This script, when present in the theme's folder, is run once. It can perform several tasks specific to that theme. For an example, see here.
- Hypr_UNINSTALL: This script, if present in the theme's folder, runs when you uninstall the theme, cleaning up its specific configurations and dependencies. For an example, see here.
Check the Default theme as it’s a great example, and the HyprTheme script. Hope this helps!
If you encounter any bugs or have suggestions for improvement, feel free to submit them here.
I appreciate contributions! For further information, please have a look at the CONTRIBUTING file.
Thank you for using the HyprTheme script! I hope you enjoy using Hyprland.
This project is licensed under the MIT License.