Install & Run HT32 Panel

Download the latest release from GitHub Releases or use one of the methods below.

Debian / Ubuntu

# Download and install the .deb package
curl -LO https://github.com/ananthb/ht32-panel/releases/latest/download/ht32-panel_VERSION_amd64.deb
sudo dpkg -i ht32-panel_VERSION_amd64.deb
sudo apt-get install -f

The package automatically configures the apt repository for future updates. Run sudo apt update && sudo apt upgrade to receive new versions.

Fedora / RHEL

# Download and install the .rpm package
curl -LO https://github.com/ananthb/ht32-panel/releases/latest/download/ht32-panel-VERSION.x86_64.rpm
sudo dnf install ./ht32-panel-VERSION.x86_64.rpm

The package automatically configures the dnf repository for future updates. Run sudo dnf upgrade to receive new versions.

AppImage

# Download and run the AppImage
curl -LO https://github.com/ananthb/ht32-panel/releases/latest/download/ht32-panel-VERSION-x86_64.AppImage
chmod +x ht32-panel-*-x86_64.AppImage
./ht32-panel-*-x86_64.AppImage

Tarball

# Download and extract the tarball
curl -LO https://github.com/ananthb/ht32-panel/releases/latest/download/ht32-panel-VERSION-x86_64-linux.tar.gz
tar -xzf ht32-panel-*-x86_64-linux.tar.gz

# Run with a config file
./ht32paneld /etc/ht32-panel/config.toml

NixOS (System Service)

Add the flake input to your NixOS flake:

{
  inputs.ht32-panel.url = "github:ananthb/ht32-panel";
}

Then enable the module in your NixOS configuration:

{ inputs, ... }:
{
  imports = [ inputs.ht32-panel.nixosModules.default ];

  services.ht32-panel = {
    enable = true;
  };
}

Home Manager (User Service)

Run the daemon as a user service with the session D-Bus bus.

Add the flake input:

{
  inputs.ht32-panel.url = "github:ananthb/ht32-panel";
}

In your Home Manager configuration:

{ inputs, ... }:
{
  imports = [ inputs.ht32-panel.homeManagerModules.default ];

  services.ht32-panel = {
    enable = true;
    applet.enable = true;  # optional system tray applet
  };
}

For hardware access, also add udev rules to your NixOS configuration:

{ inputs, ... }:
{
  imports = [ inputs.ht32-panel.nixosModules.udevRules ];

  services.ht32-panel.udevRules = {
    enable = true;
    group = "users";  # grant access to users group
  };
}

Nix

# Run directly from the flake
nix run github:ananthb/ht32-panel

From Source

git clone https://github.com/ananthb/ht32-panel
cd ht32-panel
cargo build --release

Usage

# Start the daemon
ht32paneld config/default.toml

# CLI (requires daemon to be running)
ht32panelctl lcd orientation landscape
ht32panelctl led set rainbow --intensity 3 --speed 3