I did a bit of research on this awhile ago and then it came back to get me because of the status of gnome in debian testing. Notice that there are a few packages not in Debian testing yet. Like gnome-shell. This causes problems when I want to use the extensions showcased here. If you view the site with Chrome on Linux running the latest release version of Gnome 3.2, it will fail anyways because the plugin for the site is fubar but if you use firefox or iceweasel its all okay. Anyways, it came down to wanting to use a few packages from the Debian unstable branch mixed in with Debian testing here. This is one of the reasons I love Debian so much. It seems there is always a way or two to get this done. One way is to just upgrade to Debian Unstable; but I tried that before and had a few issues with stability and printing. So I backed it off and re-installed back down to testing. The second way is to mix the distributions a bit. Debian really does not support the second way; yet there are easy ways to get this done. Its basically called pinning and the Debian website/wiki has details on it.
Since these systems are merely playgrounds for me and my crucial system runs a pure Debian testing mix, I feel quite enabled to mess things up, try new things, re-install when necessary. So I decided to implement pinning on Debian testing and get a few packages from the unstable tree.
First off, I created a file called /etc/apt/preferences and it looks like this:
mperry@foobar:~$ more /etc/apt/preferences
Package: *
Pin: release a=testing
Pin-Priority: 900
Package: *
Pin: release a=unstable
Pin-Priority: 300
Notice the priority levels in the two entries. They are really important! The wiki page tells you about what they do so read carefully. Then I created a second file called apt.conf. It looks like this:
mperry@foobar:~$ more /etc/apt/apt.conf
APT::Cache-Limit "100000000";
APT::Default-Release "testing";
This file declares my default release and also sets the apt cache limit up higher so I don’t get out of memory errors or apt crashing when I do things.
Finally, I added some stuff to my sources.list file thusly:
deb http://ftp.us.debian.org/debian/ unstable main non-free contrib
deb-src http://ftp.us.debian.org/debian/ unstable main non-free contrib
This adds some unstable sources to my debian testing install. So now if I do aptitude update it will draw the sources for unstable as well but due to the low priority will not upgrade stuff. So I want to draw the file gnome-shell particularly from the unstable sources. I do a “apt-get install gnome-shell/unstable” and it goes out and grabs the file and the supporting libraries it needs from unstable. I notice that gnome-tweak-tool will not work with the gnome-shell I am getting so it gets removed. I install the gnome-tweak-tool from unstable doing “apt-get install gnome-tweak-tool/unstable” and it gets that application.
Finally, to see what it all does, you can use a policy tool to inspect the configuration. Simply run apt-cache policy. I’ll resist including it in the blogpost because its pretty detailed and lists out all the repositories I draw packages from including iceweasel (debian’s version of firefox), google chrome, debian multimedia. It lets you check though that things are set the way you think and it shows you how repositories are assigned default priorities. Very handy! It does take a bit of background research to figure out what each of the priorities really means. So prepare to get your hands wet with how Debian does package management a bit.
All in all, I have grabbed about 10 packages from unstable and now my system is mixed. Regular testing updates happen as usual. When Debian testing gets the same or a later version of gnome-shell, I will get that version instead and the pin will not be needed.
So this gives me a decent system, with the latest gnome-shell from unstable. I can install extensions from the website above no problems. Things are pretty stable. I still have mostly Debian testing. If you are satisfied with a pure testing solution, by all means stick with it. If you like to hack around a bit with Debian (seriously, most people I know that run Debian do like to play with it), this could be a alternative to go learn.
The main thing is that other distributions come and go. Debian has stood the test of time. Its simply the best.

