GPM: The GIT Package Manager for Home Assistant

:rocket: I’m excited to share GPM (GIT Package Manager), a lightweight Home Assistant integration for managing custom_components and dashboard resources. GPM is ideal for advanced users seeking a Git-focused approach to package management without external APIs or accounts.


What is GPM?

GPM enables you to:

  • Install and manage custom_components: Extend functionality using third-party integrations in /config/custom_components/ .
  • Install and manage dashboard resources: Enhance UI with custom cards, themes, etc., stored in /config/www/ .
  • Stay updated: GPM creates update entities, simplifying maintenance.

Installing GPM

Run the following in your Home Assistant terminal:

wget -O - https://raw.githubusercontent.com/tomasbedrich/gpm/refs/heads/main/install/install.sh | bash -

Using GPM

  1. Go to SettingsDevices & ServicesIntegrations.
  2. Click “+ Add integration” and select GPM.
  3. Configure the desired package.

Custom Components

  • Provide the repository’s HTTP URL in GPM’s config flow.
  • GPM clones the latest version, creates symlinks, and activates it.

Dashboard Resources

  • Specify a download URL template with {{ version }} .
  • GPM substitutes {{ version }} with the relevant tag or commit hash.

Example:

https://github.com/example-user/awesome-card/releases/download/{{ version }}/awesome-card.js

Why GPM?

Compared to HACS, GPM offers:

  • Remote flexibility: Install from GitHub, GitLab, or any GIT repository.
  • No external accounts or APIs: Operates purely with GIT.
  • HACS compatibility: Supports repositories structured for HACS.
  • Minimalist approach: Focuses on core functionality.

Provide a feedback

For advanced users who prefer GIT-based management without extra overhead, GPM is a puristic alternative to HACS.

Learn more and contribute:

I’d love to hear your feedback and see how GPM works in your Home Assistant setup! :heart:

2 Likes