New WP_Query not isolating custom post types on front-page template

You can use a conditional tag with the pre_get_posts action hook like this from your functions file.

add_action( 'pre_get_posts', 'vm_get_shows' );
function vm_get_shows ( $query ) {
if ( !is_admin() && $query->is_main_query() && is_home() ) {
    $query->set('post_type', 'shows' );
    }
}