{ modules, inputs, ... }: { flake-file.inputs = { hyprland.url = "github:hyprwm/Hyprland"; }; modules.hyprland = { nixos = { pkgs, ... }: { environment.systemPackages = with pkgs; [ wayfreeze grim slurp wlogout ]; 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 = [ pkgs.xdg-desktop-portal-cosmic ]; }; environment.sessionVariables.NIXOS_OZONE_WL = "1"; hardware.graphics = { # package = pkgs-unstable.mesa; # if you also want 32-bit support (e.g for Steam) # enable32Bit = true; # package32 = pkgs-unstable.pkgsi686Linux.mesa; }; }; homeManager = { pkgs, ... }: { wayland.windowManager.hyprland = { enable = true; systemd.variables = [ "--all" ]; }; }; }; }