Alternate approach (if you want/need to keep this in functions.php and go via hooks instead of modifying template) would be something like this:
add_action( 'pre_get_posts', 'pre_get_posts_home' );
function pre_get_posts_home( $query ) {
global $wp_query;
if( $wp_query == $query && $query->is_home )
$query->set( 'posts_per_page', 1 );
}