Thank you for your interest in contributing to HyprFlux! This document provides guidelines and instructions for contributing to the project.
HyprFlux is an MIT-licensed, OSI-approved free and open source software project. It is a complete Arch Linux desktop operating system built around Hyprland, featuring a live ISO, installer, boot experience, login flow, theming, tooling, and a maintained desktop environment.
If you encounter a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- System information (Arch Linux version, Hyprland version, hardware details)
- Relevant logs and screenshots
- The version of HyprFlux you're using
Feature requests are welcome! Please open an issue with:
- A clear description of the feature
- Why it would benefit HyprFlux users
- Any implementation ideas or references
We welcome pull requests! Please follow these steps:
- Fork the repository and create your branch from
main - Make your changes following our coding standards
- Test your changes thoroughly on an Arch Linux system
- Update documentation if applicable
- Submit a pull request with a clear description
- Arch Linux installation
- Basic tools:
git,curl,sudo - Familiarity with shell scripting, Hyprland, and related tools
# Clone your fork
git clone https://github.com/YOUR_USERNAME/HyprFlux.git
cd HyprFlux
# Create a branch for your changes
git checkout -b feature/your-feature-nameHyprFlux/
├── config/ # Project configuration
├── dotsSetup.sh # Modular platform setup entrypoint
├── install.sh # Primary install entrypoint
├── lib/ # Shared install helpers
├── modules/ # Modular setup steps
├── scripts/ # Installer helper scripts
├── utilities/ # Themes, archives, logos, cursors
└── .config/ # Desktop environment files
├── hypr/ # Hyprland configs
├── waybar/ # Waybar configs
└── rofi/ # Rofi configs
- Use
shellcheckto validate your scripts - Follow Google's Shell Style Guide
- Include error handling and meaningful output messages
- Ensure scripts are idempotent where possible
- Maintain consistency with existing configuration style
- Comment complex configurations
- Use meaningful variable names
- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters
- Reference issues and pull requests when applicable
Example:
Add Plymouth theme configuration module
- Create modules/plymouth/setup.sh
- Update dotsSetup.sh to include Plymouth module
- Add documentation in README.md
Fixes #123
Before submitting a pull request:
- Test your changes on a fresh Arch Linux installation or VM
- Verify the installer completes successfully
- Check that desktop components load correctly
- Ensure no regressions in existing functionality
# Build and test ISO changes
cd references/Hyprflux-ISO
./build.sh
qemu-system-x86_64 -cdrom output/hyprflux.iso -m 4096- Installer improvements: reliability, hardware support, edge cases
- Documentation: guides, troubleshooting, translations
- Theming: GTK themes, icon packs, wallpapers
- Desktop workflows: keybinds, scripts, automation
- ISO development: boot experience, TUI refinements
- Bug fixes: stability, compatibility, performance
- Maintainers will review your pull request
- Feedback may be provided for changes
- Once approved, your PR will be merged
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
By contributing to HyprFlux, you agree that your contributions will be licensed under the MIT License.
Feel free to open an issue for questions or discussions about the project.
Thank you for contributing to HyprFlux!