Whats the right way to install experimental packages on a stable installation? - eviltoast

I’ve found myself immersed in RPM land for so long that I seem to have forgotten the “proper” way of doing things. I jumped ship for Debian 12 before the recent Red Hat nuttiness, but I wanted to keep Gnome 44.

To install Gnome 44 and took the following steps:

  1. Added the following lines to the file /etc/apt/sources.list.d/experimental.list:
deb http:ftp.debian.org/debian experimental main contrib non-free
deb http://ftp.de.debian.org/debian sid main 
  1. Ran apt update (without upgrade) and proceeded to install Gnome components using the command:
apt install -t experimental baobab eog evince gdm3 gjs gnome-backgrounds gnome-calculator gnome-characters gnome-contacts gnome-control-center gnome-disk-utility gnome-font-viewer gnome-keyring gnome-logs gnome-menus gnome-online-accounts gnome-remote-desktop gnome-session gnome-settings-daemon gnome-shell gnome-shell-extensions gnome-software gnome-system-monitor gnome-text-editor gnome-user-docs mutter gnome-desktop3-data
  1. Additionally, I executed the command:
sudo apt-mark auto baobab eog evince gdm3 gjs gnome-backgrounds gnome-calculator gnome-characters gnome-contacts gnome-control-center gnome-disk-utility gnome-font-viewer gnome-keyring gnome-logs gnome-menus gnome-online-accounts gnome-remote-desktop gnome-session gnome-settings-daemon gnome-shell gnome-shell-extensions gnome-software gnome-system-monitor gnome-text-editor gnome-user-docs mutter gnome-desktop3-data

(Note: I discovered these commands from a now deleted Reddit post, but they aligned with my previous experiences with Fedora and BSD.)

  1. Finally, as a precautionary measure, I commented out both lines in /etc/apt/sources.list.d/experimental.list to avoid inadvertent updates in the future. Fortunately, everything went according to plan, and I’m currently using Gnome-Web on Gnome 44. However, in hindsight, I realize I should have conducted more research before diving in. Now, I’m curious to know if there was a more optimal approach to achieve the same outcome. Is there a better way to I could have gotten the specific newer packages?