45 lines
1.3 KiB
Nix
45 lines
1.3 KiB
Nix
{
|
|
inputs,
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.modules.Hyprland;
|
|
pkgs-unstable = inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
|
in
|
|
{
|
|
options.modules.Hyprland = {
|
|
enable = lib.mkEnableOption "Hyprland";
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
programs.xwayland.enable = true;
|
|
programs.hyprland = {
|
|
enable = true;
|
|
withUWSM = true;
|
|
# set the flake package
|
|
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
|
# make sure to also set the portal package, so that they are in sync
|
|
portalPackage =
|
|
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
|
};
|
|
xdg.portal = {
|
|
enable = true;
|
|
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
|
};
|
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
nix.settings = {
|
|
substituters = [ "https://hyprland.cachix.org" ];
|
|
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
|
};
|
|
hardware.graphics = {
|
|
package = pkgs-unstable.mesa;
|
|
|
|
# if you also want 32-bit support (e.g for Steam)
|
|
enable32Bit = true;
|
|
package32 = pkgs-unstable.pkgsi686Linux.mesa;
|
|
};
|
|
};
|
|
}
|