Files
dotfiles/modules/hyprland/nixos.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;
};
};
}