summaryrefslogtreecommitdiff
path: root/modules/desktops/hyprland/default.nix
blob: 56eef35e445f76f88d2a79796d4bbef6276d93fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
  inputs,
  config,
  system,
  lib,
  ...
}: let
  inherit (lib) mkIf mkDefault;
  cfg = config.desktops;
in {
  imports = [
    ./binds.nix
    ./env.nix
    ./idle.nix
    ./plugins.nix
    ./settings.nix
    ./wallpaper.nix
  ];

  config = mkIf cfg.hyprland {
    desktops.wayland = true;
    default.session = mkDefault "hyprland-session.target";

    xdg.portal = {
      extraPortals = [
        inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland
      ];
      config = {
        hyprland.common = ["gtk" "hyprland"];
      };
    };

    home-manager.users.${config.user} = {
      wayland.windowManager.hyprland = {
        enable = true;
        package = inputs.hyprland.packages.${system}.hyprland;

        xwayland.enable = true;
        systemd.enable = true;
      };
    };
  };
}