{ pkgs , fetchFromGitHub , lib , nix-update-script }: let src = fetchFromGitHub { owner = "nix-community"; repo = "nixpkgs-wayland"; rev = "422bb5c5106008418f499ca591c0138f73e213f4"; hash = "sha256-32ukRcPI2W5exf4A7/ISqoKp+sL1MxdMjFt3I+8XS5Y="; }; flake = import "${src}/flake.nix"; evaluated = flake.outputs { self = evaluated; lib-aggregate.lib = lib // { # mock out flake-utils, which it uses to construct flavored package sets. # we only need the overlay (unflavored) flake-utils.eachSystem = sys: fn: {}; }; }; overlay = evaluated.overlay; final = pkgs.extend overlay; in src.overrideAttrs (base: { # attributes required by update scripts pname = "nixpkgs-wayland"; version = "0-unstable-2024-06-14"; src = src; # passthru only nixpkgs-wayland's own packages -- not the whole nixpkgs-with-nixpkgs-wayland-as-overlay: passthru = base.passthru // (overlay final pkgs) // { updateScript = nix-update-script { extraArgs = [ "--version" "branch" ]; }; }; })