Hyprland
Hyprland is a wlroots-based tiling Wayland compositor written in C++. Noteworthy features of Hyprland include dynamic tiling, tabbed windows, a clean and readable C++ code-base, and a custom renderer that provides window animations, rounded corners, and Dual-Kawase Blur on transparent windows. General usage and configuration is thoroughly documented at Hyprland wiki.
Installation
The NixOS module enables critical components needed to run Hyprland properly, such as:
- polkit
- xdg-desktop-portal-hyprland
- graphics drivers : Nvidia, Amd
- fonts
- dconf
- xwayland
- (Optional) add a proper Desktop Entry to your Display Manager.
Make sure to check out the options of the NixOS module.
Using NixOS
/etc/nixos/home.nix
{pkgs, ...}:
{
programs.hyprland = {
# Install the packages from nixpkgs
enable = true;
# Whether to enable XWayland
xwayland = true;
# Optional
# Whether to enable patching wlroots for better Nvidia support
enableNvidiaPatches = true;
};
}
Using Home Manager
/etc/nixos/configuration.nix or ~/.config/home-manager/home.nix
{config, pkgs, ... }:
{
wayland.windowManager.hyprland = {
# Whether to enable Hyprland wayland compositor
enable = true;
# The hyprland package to use
package = pkgs.hyprland;
# Whether to enable XWayland
xwayland.enable = true;
# Optional
# Whether to enable hyprland-session.target on hyprland startup
systemd.enable = true;
# Whether to enable patching wlroots for better Nvidia support
enableNvidiaPatches = true;
# List of Hyprland plugins to use
plugins = [
split-monitor-workspaces
];
# Hyprland configuration written in Nix
settings = {
decoration = {
shadow_offset = "0 5";
"col.shadow" = "rgba(00000099)";
};
"$mod" = "SUPER";
bindm = [
# mouse movements
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
"$mod ALT, mouse:272, resizewindow"
];
};
};
}