Switch between materials within material So I'm wanting to create a laptop with a keyboard (obv) and I've got the brushed aluminium material I want to use as well as a texture with keys for the displacement of the physical keys and a mask to apply different materials to the plastic of the key rather than the aluminium of the rest of the body. So I want to apply a plastic material to keys according to white regions of an image and fall back to the aluminium for black parts. But as far as I know, there's no way to link materials into other materials. Essentially, the space between the keys should be aluminium.

The Aluminium texture is just a principled BSDF following a matte aluminium look. In theory for the black regions of the mask, I could simply use a copied version of the node, but if I do that, then any changes to the original material would be noticable.
Thanks
To use nodetree elements multiple time and have all update, when you change a single instance, use node groups.

Grouping nodes can simplify a node tree by allowing instancing and hiding parts of the tree. Both material and composite nodes can be grouped.
Conceptually, grouping nodes allows you to specify a set of nodes that you can treat as though it were “just one node”. Node groups are similar to functions in programming, they can be reused in many places in a node tree and can be customized by changing the “parameters” of the node group.

To make a group, select the nodes and press CtrlG.