{ config, pkgs, lib, ... }:
{
  users.users.yoda = {
    packages = with pkgs; [
      signal-desktop # Signal client
    ];
  };

  # Signal does also use the NIXOS_OZONE_WL variable to enable Wayland support.
  environment.sessionVariables.NIXOS_OZONE_WL = lib.mkIf (config.services.xserver.displayManager.gdm.wayland) "1";

  # TODO: if on wayland and scaling != 1
  # Sharp fonts.
  nixpkgs.overlays = lib.mkIf (config.services.xserver.displayManager.gdm.wayland) [
    (self: super: {
      signal-desktop = super.signal-desktop.overrideAttrs (old: {
        preFixup = (old.preFixup or "") + ''
          gappsWrapperArgs+=(
            --add-flags "--enable-features=UseOzonePlatform"
            --add-flags "--ozone-platform=x11"
          )
        '';
      });
    })
  ];
}
