Find a file
2026-05-13 13:47:38 +03:00
.github/workflows CI: use org-wide actions 2026-04-17 14:50:32 +03:00
borders-plus-plus all: update for 0.55 2026-05-12 13:21:43 +01:00
csgo-vulkan-fix all: lua update compatibility (#649) 2026-05-05 00:35:52 +01:00
hyprbars all: update for 0.55 2026-05-12 13:21:43 +01:00
hyprfocus all: update for 0.55 2026-05-12 13:21:43 +01:00
.clang-format Add clang-format 2023-02-28 12:22:29 +00:00
.gitignore all: chase hyprland 2025-12-08 15:22:46 +00:00
CMakeLists.txt all: drop unmaintained plugins (#663) 2026-05-12 19:09:07 +01:00
flake.lock all: drop unmaintained plugins (#663) 2026-05-12 19:09:07 +01:00
flake.nix all: drop unmaintained plugins (#663) 2026-05-12 19:09:07 +01:00
hyprpm.toml hyprpm: add pins for 0.55.0 2026-05-13 13:47:38 +03:00
LICENSE Initial commit 2023-02-27 14:01:11 +00:00
README.md all: drop unmaintained plugins (#663) 2026-05-12 19:09:07 +01:00

hyprland-plugins

This repo houses official plugins for Hyprland.

Plugin list

  • borders-plus-plus -> adds one or two additional borders to windows
  • csgo-vulkan-fix -> fixes custom resolutions on CS:GO with -vulkan
  • hyprbars -> adds title bars to windows
  • hyprfocus -> flashfocus for hyprland

Install

Important

hyprland-plugins only officially supports installation via hyprpm. hyprpm automatically detects your hyprland version & installs only the corresponding "pinned" release of hyprland-plugins. If you want the latest commits to hyprland-plugins, you need to use hyprland-git.

Install with hyprpm

To install these plugins, from the command line run:

hyprpm update

Then add this repository:

hyprpm add https://github.com/hyprwm/hyprland-plugins

then enable the desired plugin with

hyprpm enable <plugin-name>

See the respective README's in the subdirectories for configuration options.

See the plugins wiki and hyprpm -h for more details.

Install on Nix

To use these plugins, it's recommended that you are already using the Hyprland flake. First, add this flake to your inputs:

inputs = {
  # ...
  hyprland.url = "github:hyprwm/Hyprland";
  hyprland-plugins = {
    url = "github:hyprwm/hyprland-plugins";
    inputs.hyprland.follows = "hyprland";
  };

  # ...
};

The inputs.hyprland.follows guarantees the plugins will always be built using your locked Hyprland version, thus you will never get version mismatches that lead to errors.

After that's done, you can use the plugins with the Home Manager module like this:

{inputs, pkgs, ...}: {
  wayland.windowManager.hyprland = {
    enable = true;
    # ...
    plugins = [
      inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
      # ...
    ];
  };
}

If you don't use Home Manager:

{ lib, pkgs, inputs, ... }:
with lib; let
  hyprPluginPkgs = inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system};
  hypr-plugin-dir = pkgs.symlinkJoin {
    name = "hyrpland-plugins";
    paths = with hyprPluginPkgs; [
      hyprexpo
      #...plugins
    ];
  };
in
{
  environment.sessionVariables = { HYPR_PLUGIN_DIR = hypr-plugin-dir; };
}

And in hyprland.conf

# load all the plugins you installed
exec-once = hyprctl plugin load "$HYPR_PLUGIN_DIR/lib/libhyprexpo.so"

Contributing

Feel free to open issues and MRs with fixes.