hyprpm
Manage Hyprland packages and configurations
TLDR
Add a plugin
Remove a plugin
Enable a plugin
Disable a plugin
Update and check all plugins
Force an operation
List all installed plugins
SYNOPSIS
hyprpm [add|remove|list|enable|disable|update|switch|search|info] [options] [args]
PARAMETERS
add <git-url> [--name <name>] [--branch <branch>]
Clone and add package(s) from Git URL(s)
remove <name>
Remove installed package and its data
list [--enabled]
List all or enabled packages
enable <name>
Enable package, symlink configs, reload Hyprland
disable <name>
Disable package, remove symlinks
update [--all]
Git pull to update package(s)
switch <name>
Disable current, enable new package
search <query>
Search GitHub for Hyprland packages
info <name>
Display package metadata and status
-h, --help
Show general or subcommand help
-v, --version
Print hyprpm version
DESCRIPTION
Hyprpm is a lightweight CLI tool designed specifically for managing packages in the Hyprland ecosystem, a popular dynamic Wayland compositor for Linux. It treats user configurations, themes, wallpapers, and scripts as 'packages' typically hosted on Git repositories.
Core functionality revolves around fetching, installing, enabling, and updating these packages. Packages are cloned into ~/.local/share/hyprpm/packages/, while enabled ones are symlinked into ~/.local/share/hyprpm/enabled/. Enabling a package intelligently merges or overrides parts of your ~/.config/hypr/ directory, preserving user customizations where possible via a priority system.
It supports seamless switching between themes (e.g., catppuccin, tokyonight), auto-updating via git pull, and searching public repos. Hyprpm ensures configs reload automatically with Hyprland's hyprctl reload integration.
Ideal for users seeking modular dotfiles without manual git cloning/symlinking. It prevents config conflicts by disabling overlapping packages and uses a manifest (package.json) for metadata like version, author, and dependencies. Widely used in the Hyprland community for quick theme switching and sharing setups.
CAVEATS
Requires git and Hyprland; backups ~/.config/hypr before overrides but test packages first. No uninstaller for merged changes.
INSTALLATION
Via install script: curl -sL https://raw.githubusercontent.com/prasanthrangan/hyprpm/main/install.sh | bash
Or AUR: hyprpm-git.
EXAMPLES
hyprpm add https://github.com/prasanthrangan/hyprdots
hyprpm enable hyprdots
hyprpm switch catppuccin
hyprpm update --all
HISTORY
Created by prasanthrangan in 2023 for Hyprland v0.28+. Evolved from manual theme scripts; now v0.12+ with search and dependency support. Actively maintained on GitHub.
SEE ALSO
hyprland(1), git(1), dotdrop(1)


