How to use a custom post type archive as front page?

Written by  on November 30, 2016 

I’d like to use a custom post type archive as a site’s front page, so that

 http://the_site.com/

is a custom post type archive displayed according to my archive-{post-type}.php file.

Ideally I would like to alter the query using is_front_page() in my functions.php file. I tried the following, with a page called “Home” as my front page:

 add_filter('pre_get_posts', 'my_get_posts');
 function my_get_posts($query){
     global $wp_the_query;
     if(is_front_page()&&$wp_the_query===$query){
        $query->set('post_type','album');
        $query->set('posts_per_page',-1);
     }
     return $query;
 }

but the front page is returning the content of “Home” and seems to be ignoring the custom query.

What am I doing wrong? Is there a better way, in general, of going about this?