Installing a Hyprland plugin via a flake

I am trying to install this plugin but do not know how to install it from the provided flake.

1 Like

Do you use a Flake as the entry point of your configuration? If so, sharing it and any related configuration would help.

No, I have never used flakes before. Here is the majority of my configuration.

[macaw@Helios:~]$ cat /etc/nixos/configuration.nix
{ config, pkgs, … }:
{
############################################################

#Imports

############################################################
imports =
[
./hardware-configuration.nix
./grub.nix
./system.nix
./users.nix
./packages.nix
./programs.nix
./services.nix
];
nix.settings.experimental-features = [ “nix-command” “flakes” ];
}

[macaw@Helios:~]$ cat /etc/nixos/hardware-configuration.nix

#Do not modify this file!  It was generated by ‘nixos-generate-config’

#and may be overwritten by future invocations.  Please make changes

#to /etc/nixos/configuration.nix instead.

{ config, lib, pkgs, modulesPath, … }:

{
imports =
[ (modulesPath + “/installer/scan/not-detected.nix”)
];

boot.initrd.availableKernelModules = [ “nvme” “xhci_pci” “ahci” “usb_storage” “usbhid” “sd_mod” ];
boot.initrd.kernelModules =
;
boot.kernelModules = [ “kvm-amd” ];
boot.extraModulePackages =
;

fileSystems.“/” =
{ device = “/dev/disk/by-uuid/fcc5850c-6a9f-4377-b8ac-e9e978c0f087”;
fsType = “btrfs”;
};

fileSystems.“/boot” =
{ device = “/dev/disk/by-uuid/9150-2409”;
fsType = “vfat”;[macaw@Helios:~]$ cat /etc/nixos/
configuration.nix           packages.nix                system.nix
grub.nix                    programs.nix                users.nix
hardware-configuration.nix  services.nix
options = [ “fmask=0077” “dmask=0077” ];
};

swapDevices = [
{ device = “/dev/nvme0n1p3”; }
];

nixpkgs.hostPlatform = lib.mkDefault “x86_64-linux”;
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

[macaw@Helios:~]$ cat /etc/nixos/packages.nix
{ config, pkgs, … }:
let
unstable = import  { };
in
{
################

#PACKAGES

################
fonts.packages = with pkgs; [
ibm-plex
nerd-fonts.blex-mono
];

nix = {
package = pkgs.nix; # ensure you’re using the nix package
extraOptions = ‘’
experimental-features = nix-command flakes
‘’;
};
environment.systemPackages = with pkgs; [
(pkgs.hyprland.overrideAttrs (old: {
postInstall = ‘’
wrapProgram $out/bin/hyprland
–prefix LD_LIBRARY_PATH : ${pkgs.mesa}/lib
‘’;
}))
git
firefox
neovim
wget
curl
htop
man
unzip
zip
gnutar
vim
gdm
unstable.hyprland
wofi
swww
nemo
prismlauncher
jdk25
python3
python3Packages.pynvim
alacritty
papirus-icon-theme
nordic
capitaine-cursors
nwg-look
rustc
cargo
gcc
fzf
ripgrep
fd
lazygit
gnumake
cmake
jq
pkg-config
pixman
libdrm
libinput
wayland
wayland-protocols
meson
fastfetch
hyprland-qtutils
luarocks
nodejs
ruby
php
ghostscript
tectonic
tree-sitter
mangohud
blueberry
bluez
pavucontrol
libxcvt
];
nixpkgs.config.allowUnfree = true;
programs.steam.enable = true;
programs.gamemode.enable = true;
}

[macaw@Helios:~]$ cat /etc/nixos/programs.nix
{ config, pkgs, … }:
{
################

#PROGRAMS

################
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};

environment.etc.“hypr/hyprland.conf”.text = ‘’
source = /home/macaw/.config/hypr/hyprland.conf
‘’;

programs.neovim = {
enable = true;
defaultEditor = true;
};

environment.etc.“nvim”.source = builtins.fetchGit {
url = “https://github.com/LazyVim/starter”;
};
}

[macaw@Helios:~]$ cat /etc/nixos/system.nix
{ config, pkgs, … }:
{
##############

#SYSTEM

##############
networking.hostName = “Helios”;
time.timeZone = “America/Chicago”;
i18n.defaultLocale = “en_US.UTF-8”;

hardware.graphics = {
enable = true;
package = pkgs.mesa;

Enable 32-bit support for Steam

enable32Bit = true;
package32 = pkgs.pkgsi686Linux.mesa;

};
hardware.nvidia = {
open = false;                      # proprietary driver
modesetting.enable = true;         # DRM/KMS for Wayland
package = pkgs.linuxPackages.nvidia;  # use the latest available kernel-compatible NVIDIA driver
};

system.stateVersion = “25.11”; # DONT TOUCH SAYS WIKI
}

[macaw@Helios:~]$ cat /etc/nixos/services.nix
{ config, pkgs, … }:
{
################

#SERVICES

################
networking.networkmanager.enable = true;
services.openssh.enable = true;
services.pipewire.enable = false;
services.pulseaudio.enable = true;
hardware.bluetooth.enable = true;
services.libinput.enable = true;
services.displayManager.gdm.enable = true;
services.flatpak.enable = true;

security.sudo.enable = true;
security.sudo.wheelNeedsPassword = false;
security.sudo.extraConfig = ‘’
Defaults env_keep += “XDG_CONFIG_HOME XDG_DATA_HOME XDG_STATE_HOME”
‘’;

############

#ENVS

############

I dunno a bettter place for these

environment.variables = {
GTK_THEME = “Nordic”;
XCURSOR_THEME = “Capitaine Cursors”;
XCURSOR_SIZE = “24”;
};
}

And my system info:

[macaw@Helios:~]$ fastfetch --logo none

macaw@Helios

OS: NixOS 25.11 (Xantusia) x86_64
Host: G521 (Default string-CF)
Kernel: Linux 6.12.77
Uptime: 4 mins
Packages: 1789 (nix-system), 7 (nix-user), 10 (flatpak)
Shell: bash 5.3.3
Display (MSI4CE2): 2560x1440 in 27", 120 Hz [External]
Display (LF27T35): 1920x1080 in 27", 75 Hz [External]
WM: Hyprland 0.52.1 (Wayland)
Theme: Nordic [GTK2/3/4]
Icons: Papirus-Dark [GTK2/3/4]
Font: Adwaita Sans (11pt) [GTK2/3/4]
Cursor: capitaine (24px)
Terminal: alacritty 0.16.1
Terminal Font: alacritty (11.0pt)
CPU: AMD Ryzen 5 7600X3D (12) @ 4.76 GHz
GPU 1: AMD Raphael [Integrated]
GPU 2: NVIDIA GeForce RTX 4060 [Discrete]
Memory: 2.80 GiB / 30.47 GiB (9%)
Swap: 0 B / 33.51 GiB (0%)
Disk (/): 39.30 GiB / 587.71 GiB (7%) - btrfs
Locale: en_US.UTF-8

Well, as far as adding it to your system configuration goes, the plugin seems to be intended for use with Flake-based system configurations only.

The code snippet present under the “NixOS installation” section of the repository’s README.md is an example of how the plugin should be integrated to a system Flake.

If you want to use this plugin, you might want to look into converting your system configuration into a Flake-based one first.