Contextual filter to show only nodes of the same type
I don't think you can do it with a contextual filter (without using coding).
Just build a view (with block output) for each of the types and then use a filter criteria "content type = news", etc. 

It's pretty easy since you can clone the view, then just override the type and change the block name.