Units of linewidth=

That depends on the scale/resolution of the output device assumed.

Multiples of 1 will translate to multiples of 0.75mm when output devices are so scaled. Theme adjustments apply to non-data arguments, such as grids and border.

library(ggplot2)
ggplot(mtcars,aes(mpg,drat)) +
  geom_smooth(method = 'lm', se = FALSE) +
  theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'


ggplot(mtcars,aes(mpg,drat)) +
  geom_smooth(method = 'lm', se = FALSE, linewidth = 1) +
  theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'


ggplot(mtcars,aes(mpg,drat)) +
  geom_smooth(method = 'lm', se = FALSE, linewidth = 2) +
  theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'


ggplot(mtcars,aes(mpg,drat)) +
  geom_smooth(method = 'lm', se = FALSE, linewidth = 1.5) +
  theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'


ggplot(mtcars,aes(mpg,drat)) +
  geom_smooth(method = 'lm', se = FALSE) +
  theme_minimal() +
  theme(element_line(linewidth = 3))
#> `geom_smooth()` using formula = 'y ~ x'


ggplot(mtcars,aes(mpg,drat)) +
  geom_smooth(method = 'lm', se = FALSE, linewidth = 1) +
  theme_minimal()
#> `geom_smooth()` using formula = 'y ~ x'

Created on 2023-03-25 with reprex v2.0.2