{ config, pkgs, lib, ... }:
{
  users.users.yoda = {
    packages = with pkgs; [
      freetube # YouTube client.
    ];
  };

  # Manually enable Wayland support.
  # Method1: https://www.reddit.com/r/NixOS/comments/scf0ui/comment/hu6xfn8/?utm_source=share&utm_medium=web2x&context=3
  # Method2: https://github.com/NixOS/nixpkgs/issues/222043#issuecomment-1493457041
  nixpkgs.overlays = lib.mkIf (config.services.xserver.displayManager.gdm.wayland) [
    (final: prev: {
      freetube = prev.freetube.overrideAttrs (oldAttrs: {
        postInstall = (oldAttrs.postInstall or "") + ''
          substituteInPlace $out/share/applications/freetube.desktop \
            --replace "Exec=freetube" "Exec=freetube --enable-features=UseOzonePlatform --ozone-platform=wayland"
        '';
      });
    })
#    (self: super: {
#      freetube = super.freetube.overrideAttrs (old: {
#        preFixup = (old.preFixup or "") + ''
#          gappsWrapperArgs+=(
#            --add-flags "--enable-features=UseOzonePlatform"
#            --add-flags "--ozone-platform=wayland"
#          )
#        '';
#      });
#    })
  ];
}
