`use-package` has pretty much simplified everything:
;; c
(use-package c-mode
:ensure nil
:defer t
:mode "\\.cu?\\'"
:config (setq c-default-style "gnu"
c-basic-offset 2)
:hook ((c-mode . lsp)
(c-mode . bmacs-ide)))
Use-package can even install third party packages automatically. Definitely worth learning. I converted my .emacs a few years ago. I'm using borg[0] to install stuff though because I like git.
[0] https://github.com/emacscollective/borg