Lattices are deceptively simple mathematical structures that have become indispensable for code design for physical layer communications. While lattice-related problems are interesting in their own right, the usefulness of these discrete structures in wireless communications provides additional motivation for their study and enables a multidisciplinary line of research. This thesis is devoted to the study of lattice code design for physical layer communications. Modern wireless communication networks are required to accommodate significantly varied types of mobile devices, differing in available computational power or number of equipped antennas. Additionally, the density of the networks increases rapidly, and many communication protocols diverge from the classical direct point-to-point transmission in favor of allowing for intermediate relays to process and forward data. An important consequence of this shift towards more sophisticated transmission protocols is that traditional well-performing codes become futile for modern communications, thus the study and development of novel codes is called for. Yet, however involved a transmission protocol may be, the characteristics of the physical medium, i.e., the wireless channel, stay unaffected. It is thus natural that an underlying lattice structure for code design remains crucial. This thesis consists of several articles considering lattice code design for four different communication settings relevant in modern wireless communications.