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:

4 Likes

Funny, I randomly stumbled on this today as I was finally ripping HACS out of my HA Yellow after it crashed HA for the 27th time in 3 weeks. Not sure what happened since the new year but I’ve followed all the threads in the HACS repo and reinstalled several times without luck, and the maintainers just keep locking the issue threads.

I was going to just go with manual downloading and committing the files to git, thus needing to do my own updating constantly, but this looks promising. Will give it a spin.

Was not able to get a simple resource like card-mod to install, seems this is incompatible with yaml mode resource loading and it errors with “unknown error”. I’ve opened an issue for some needed docs updates.