summaryrefslogtreecommitdiff
path: root/modules/desktop/wms/hyprland.nix
blob: d339f9819934ae9e8c2923d640360b54b0218cbf (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
44
45
46
47
48
49
50
51
{
  pkgs,
  lib,
  config,
  ...
}:
let
  cfg = config.addons.desktop.hyprland;
in
{
  options.addons.desktop.hyprland = {
    enable = lib.mkEnableOption "Enable Hyprland";
  };

  config = lib.mkIf cfg.enable (
    lib.mkMerge [
      (import ../../../utils/makeWm.nix "hyprland" "wayland")
      {
        programs.hyprland.enable = true;
        programs.hyprland.withUWSM = true;
        programs.uwsm = {
          enable = true;
          waylandCompositors = {
            hyprland = {
              prettyName = "Hyprland";
              comment = "Hyprland compositor managed by UWSM";
              binPath = "/run/current-system/sw/bin/Hyprland";
            };
          };
        };

        environment.systemPackages = with pkgs; [
          hyprland
          hyprshot
          hypridle
          hyprpaper
          hyprpicker
          hyprnotify
          hyprcursor
          hyprpolkitagent
          wofi
          waybar
          waybar-mpris
          mako
          wl-clipboard
          hyprland-qt-support
        ];
      }
    ]
  );
}