You don't need tidyeval in this case, as far as I can tell.
na_by_default_fun_factory <- function(function_name) {
purrr::partial(function_name, na.rm = TRUE)
}
min_na.rm <- na_by_default_fun_factory(min)
min_na.rm(c(1, NA, 2, 3))
#> [1] 1
max_na.rm <- na_by_default_fun_factory(max)
max_na.rm(c(1, NA, 2, 3))
#> [1] 3