Unverified Commit c25638b3 authored by André Silva's avatar André Silva Committed by GitHub
Browse files

nixos/uwsm: set default for waylandCompositors (#474174)

parents a5d7ac11 363918b1
Loading
Loading
Loading
Loading
+3 −12
Original line number Diff line number Diff line
@@ -89,6 +89,9 @@ in
          configPackages = lib.mkDefault [ cfg.package ];
        };

        # To make the Hyprland session available in DM
        services.displayManager.sessionPackages = [ cfg.package ];

        systemd = lib.mkIf cfg.systemd.setPath.enable {
          user.extraConfig = ''
            DefaultEnvironment="PATH=/run/wrappers/bin:/etc/profiles/per-user/%u/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:$PATH"
@@ -98,18 +101,6 @@ in

      (lib.mkIf (cfg.withUWSM) {
        programs.uwsm.enable = true;
        # Configure UWSM to launch Hyprland from a display manager like SDDM
        programs.uwsm.waylandCompositors = {
          hyprland = {
            prettyName = "Hyprland";
            comment = "Hyprland compositor managed by UWSM";
            binPath = "/run/current-system/sw/bin/start-hyprland";
          };
        };
      })
      (lib.mkIf (!cfg.withUWSM) {
        # To make a vanilla Hyprland session available in DM
        services.displayManager.sessionPackages = [ cfg.package ];
      })

      (import ./wayland-session.nix {
+28 −22
Original line number Diff line number Diff line
@@ -107,10 +107,13 @@ in
          binPath = "/run/current-system/sw/bin/sway";
        };
      '';
      default = { };
    };
  };

  config = lib.mkIf cfg.enable {
  config = lib.mkIf cfg.enable (
    lib.mkMerge [
      {
        environment.systemPackages = [ cfg.package ];
        systemd.packages = [ cfg.package ];
        environment.pathsToLink = [ "/share/uwsm" ];
@@ -118,9 +121,11 @@ in
        # UWSM recommends dbus broker for better compatibility
        services.dbus.implementation = "broker";

    services.displayManager = {
      enable = true;
      sessionPackages = lib.mapAttrsToList (
        services.displayManager.enable = true;
      }

      (lib.mkIf (cfg.waylandCompositors != { }) {
        services.displayManager.sessionPackages = lib.mapAttrsToList (
          name: value:
          mk_uwsm_desktop_entry {
            inherit name;
@@ -132,8 +137,9 @@ in
              ;
          }
        ) cfg.waylandCompositors;
    };
  };
      })
    ]
  );

  meta.maintainers = with lib.maintainers; [
    johnrtitor
+1 −1
Original line number Diff line number Diff line
@@ -194,7 +194,7 @@ customStdenv.mkDerivation (finalAttrs: {
    "NO_XWAYLAND" = !enableXWayland;
    "NO_SYSTEMD" = !withSystemd;
    "CMAKE_DISABLE_PRECOMPILE_HEADERS" = true;
    "NO_UWSM" = true;
    "NO_UWSM" = !withSystemd;
    "NO_HYPRPM" = true;
    "TRACY_ENABLE" = false;
  };