Systemd/GNU/Linux/GTK or Systemd/GNU/Linux/QT, really…
Systemd/GNU/Linux/GTK or Systemd/GNU/Linux/QT, really…
NixOS + Home Manager user here.
I run in an opt-in state config. / is tmpfs. /home is tmpfs. /boot and /nix are real filesystems. At boot, the EFI loader reads the configuration from /nix/persist/etc/nixos/flake.nix, symlinks all the programs and configs into / and /home, and startup proceeds as normal.
That means nothing persists across boots unless I add it to my config. Cruft doesn’t accumulate in hidden areas, it’s all in my config. That keeps things fast, makes management easier, and makes troubleshooting easier.
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.