NVIDIA GPUs in ANY capacity are NOT supported, but you may ask for some help around on the Discord server, people have been running Hyprland on NVIDIA with success.*
Requirements -
Content:
hyprland-git - compiles from latest source
hyprland - compiles from latest release source
hyprland-bin - compiled latest release
Make sure to check out the options of the Nix module.
# flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
hyprland = {
url = "github:hyprwm/Hyprland";
# build with your own instance of nixpkgs
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, hyprland }: {
nixosConfigurations.HOSTNAME =
nixpkgs.lib.nixosSystem {
# ...
modules = [
hyprland.nixosModules.default
{ programs.hyprland.enable = true; }
# ...
];
};
};
Don't forget to replace HOSTNAME with your hostname!
NOTE: If you're using Hyprland through an overlay, set programs.hyprland.package = pkgs.hyprland;
# configuration.nix
{config, pkgs, ...}: let
flake-compat = builtins.fetchTarball
"https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland = (import flake-compat {
src = builtins.fetchTarball
"https://github.com/hyprwm/Hyprland/archive/master.tar.gz";
}).defaultNix;
in {
imports = [
hyprland.nixosModules.default
];
nixpkgs.overlays = [ hyprland.overlays.default ];
programs.hyprland = {
enable = true;
package = pkgs.hyprland;
};
}
You can use the Home Manager module by adding it to your configuration:
{ config, pkgs, inputs, ... }: {
imports = [
inputs.hyprland.homeManagerModules.default
];
wayland.windowManager.hyprland.enable = true;
# ...
}
For a list of available options, check the module file.
If you plan on using the HM module alongside the NixOS module, set the NixOS programs.hyprland.package = null;
If you don't plan on using the NixOS module, but want to use the HM module, you will have to enable all the options the NixOS module enables.
If you don't plan on using any module, manually enable whatever options the modules set.
The steps to build Hyprland on Fedora are relatively simple and very similar to the steps described in the wiki. The main difference is in the package names between Arch and Fedora. These steps were tested on Fedora 35 and Fedora 36 Workstation.
Step 1 - Install all the Dependencies
sudo dnf install git ninja-build cmake meson gcc-c++ libxcb-devel libX11-devel pixman-devel wayland-protocols-devel cairo-devel pango-devel
Step 2 - Download the Hyprland Source Code
git clone --recursive https://github.com/hyprwm/Hyprland
The --recursive argument is important - it will clone the required branch of wlroots into the subprojects directory. Note that compiling with the master branch of wlroots will cause compiler errors - you need the branch of wlroots with the modified structures.
Now you're ready to build Hyprland.
cd Hyprland
meson _build
ninja -C _build
sudo ninja -C _build install
Finally, Copy the sample config into place
mkdir -p ~/.config/hypr
cp example/hyprland.conf ~/.config/hypr
NOTE FOR GDM USERS: Hyprland may not show if gdm is running in a X session instead of Wayland, check /etc/gdm/custom.conf to make sure Wayland is enabled
Step 1 - Install these Dependencies* -
gdb ninja gcc cmake libxcb xcb-proto xcb-util xcb-util-keysyms libxfixes libx11 libxcomposite xorg-xinput libxrender pixman wayland-protocols cairo pango
*Please note Hyprland builds wlroots. Make sure you have the dependencies of wlroots installed, you can make sure you have them by installing wlroots separately (Hyprland doesn't mind).
Also note that Hyprland uses the C++23 standard, so your compiler has to support gcc>=12.1.0 or clang>=15.
Step 2 - Download Hyprland source code
cd ~
git clone
--recursive
https://github.com/hyprwm/Hyprland
The --recursive argument is important - it will clone the required branch of wlroots into the subprojects directory. Note that compiling with the master branch of wlroots will cause compiler errors - you need the branch of wlroots with the modified structures.
cd Hyprland
sudo make install
meson _build
ninja -C _build
sudo ninja -C _build install
Finally, Step 4 - Copy the config
mkdir -p ~/.config/hypr
cp example/hyprland.conf ~/.config/hypr
If you have any doubt(s) or are getting any error(s), please-