openlogi 0.6.26

OpenLogi command-line interface — a local-first companion for Logitech HID++ peripherals.
# nfpm package descriptor for OpenLogi Linux packages (.deb / .rpm / .pkg.tar.zst).
#
# Build with the xtask:
#   cargo run -p xtask -- linux package
#
# Or directly (requires nfpm in PATH; set VERSION and PKG_ARCH):
#   VERSION=0.6.0 PKG_ARCH=amd64 nfpm package --packager deb --target target/release
#   VERSION=0.6.0 PKG_ARCH=arm64 nfpm package --packager rpm --target target/release
#   VERSION=0.6.0 PKG_ARCH=amd64 nfpm package --packager archlinux --target target/release

name: openlogi
version: "${VERSION}"
arch: "${PKG_ARCH}"
maintainer: AprilNEA <dev@aprilnea.me>
description: |-
  Logitech HID++ device control — remap buttons, DPI, and SmartShift.
  An open-source, local-first alternative to Logi Options+. No account,
  no telemetry; configuration lives in a plain TOML file.
homepage: https://github.com/AprilNEA/OpenLogi
license: Apache-2.0 OR MIT

contents:
  # ── binaries ────────────────────────────────────────────────────────────────
  - src: target/release/openlogi
    dst: /usr/bin/openlogi
    file_info:
      mode: 0755

  - src: target/release/openlogi-gui
    dst: /usr/bin/openlogi-gui
    file_info:
      mode: 0755

  - src: target/release/openlogi-agent
    dst: /usr/bin/openlogi-agent
    file_info:
      mode: 0755

  # ── udev rules ──────────────────────────────────────────────────────────────
  - src: packaging/linux/udev/70-openlogi.rules
    dst: /etc/udev/rules.d/70-openlogi.rules
    file_info:
      mode: 0644

  # ── systemd user unit ───────────────────────────────────────────────────────
  - src: packaging/linux/systemd/openlogi-agent.service
    dst: /usr/lib/systemd/user/openlogi-agent.service
    file_info:
      mode: 0644

  # ── XDG desktop entry ───────────────────────────────────────────────────────
  - src: packaging/linux/desktop/openlogi.desktop
    dst: /usr/share/applications/openlogi.desktop
    file_info:
      mode: 0644

  # ── icon ────────────────────────────────────────────────────────────────────
  - src: design/icon/openlogi.png
    dst: /usr/share/icons/hicolor/512x512/apps/openlogi.png
    file_info:
      mode: 0644

  - src: LICENSE-APACHE
    dst: /usr/share/licenses/openlogi/LICENSE-APACHE
    file_info:
      mode: 0644

  - src: LICENSE-MIT
    dst: /usr/share/licenses/openlogi/LICENSE-MIT
    file_info:
      mode: 0644

archlinux:
  packager: "AprilNEA <dev@aprilnea.me>"

overrides:
  archlinux:
    depends:
      - dbus
      - fontconfig
      - gcc-libs
      - glibc
      - libglvnd
      - libxcb
      - libxkbcommon
      - libxkbcommon-x11
      - vulkan-icd-loader
      - wayland

scripts:
  postinstall: packaging/linux/nfpm-scripts/postinstall.sh
  postremove: packaging/linux/nfpm-scripts/postremove.sh