2022-12-18 14:20:19 +01:00
|
|
|
The NixOS module enables critical components needed to run Hyprland properly,
|
|
|
|
such as: polkit,
|
|
|
|
[xdg-desktop-portal-hyprland](https://github.com/hyprwm/xdg-desktop-portal-hyprland),
|
|
|
|
graphics drivers, fonts, dconf, xwayland, and adding a proper Desktop Entry to
|
|
|
|
your Display Manager.
|
|
|
|
|
|
|
|
Make sure to check out the options of the
|
2023-02-14 14:30:40 +01:00
|
|
|
[NixOS module](https://github.com/hyprwm/Hyprland/blob/main/nix/module.nix).
|
2022-12-18 14:20:19 +01:00
|
|
|
|
2023-02-14 14:30:40 +01:00
|
|
|
Note that the Nixpkgs Hyprland package is not actively maintained, and may be outdated.
|
2022-12-18 14:20:19 +01:00
|
|
|
As such, installation using the Flake is recommended.
|
|
|
|
|
|
|
|
## With flakes
|
|
|
|
|
|
|
|
```nix
|
|
|
|
# flake.nix
|
|
|
|
{
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
hyprland.url = "github:hyprwm/Hyprland";
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = {nixpkgs, hyprland, ...}: {
|
|
|
|
nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
|
|
|
|
# ...
|
|
|
|
modules = [
|
|
|
|
hyprland.nixosModules.default
|
|
|
|
{programs.hyprland.enable = true;}
|
|
|
|
# ...
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
2022-12-28 16:31:43 +01:00
|
|
|
}
|
2022-12-18 14:20:19 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
Don't forget to replace `HOSTNAME` with your hostname!
|
|
|
|
|
|
|
|
## Without flakes
|
|
|
|
|
|
|
|
{{< hint >}}
|
|
|
|
If you're using Hyprland through an overlay, set
|
|
|
|
`programs.hyprland.package = pkgs.hyprland;`. This also means the `xwayland`
|
|
|
|
and `nvidiaPatches` options no longer apply.
|
|
|
|
{{< /hint >}}
|
|
|
|
|
|
|
|
```nix
|
|
|
|
# configuration.nix
|
2023-02-14 14:30:40 +01:00
|
|
|
|
|
|
|
{pkgs, ...}: let
|
2022-12-18 14:20:19 +01:00
|
|
|
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
|
2023-02-14 14:30:40 +01:00
|
|
|
|
2022-12-18 14:20:19 +01:00
|
|
|
hyprland = (import flake-compat {
|
|
|
|
src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz";
|
|
|
|
}).defaultNix;
|
|
|
|
in {
|
2023-02-14 14:30:40 +01:00
|
|
|
imports = [hyprland.nixosModules.default];
|
2022-12-18 14:20:19 +01:00
|
|
|
|
|
|
|
programs.hyprland = {
|
|
|
|
enable = true;
|
2023-02-14 14:30:40 +01:00
|
|
|
|
|
|
|
# default options, you don't need to set them
|
2022-12-18 14:20:19 +01:00
|
|
|
package = hyprland.packages.${pkgs.system}.default;
|
2023-02-14 14:30:40 +01:00
|
|
|
|
|
|
|
xwayland = {
|
|
|
|
enable = true;
|
|
|
|
hidpi = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
nvidiaPatches = false;
|
2022-12-18 14:20:19 +01:00
|
|
|
};
|
|
|
|
}
|
|
|
|
```
|