Sure, I should have gone further.
Systemd/GNU libc/GNU Coreutils/GNU BASH/Linux/X11//GTK/GNOME
Systemd/GNU libc/GNU Coreutils/GNU BASH/Linux/X11/GTK/LXDE
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/X11/GTK/GNOME
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/X11/GTK/LXDE
SysVInit/musl/Busybox/tcsh/Linux/csh
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/Wayland/QT/KDE Plasma
Systemd/GNU libc/GNU Coreutils/Zsh/Linux/Wayland/QT/LXQT
etc, etc.
There are thousands of combinations of the possible layers needed to make an OS.
the thing is that not all of them use systemd or bash or zsh or even X11 (servers don’t usually have X11 installed)
All of them use a Linux kernel and many components that were originally developed for GNU, especially the C library.