Getting started with emacs, packages

Regarding packages, my emacs startup sequence includes:
(require 'package)

(add-to-list 'package-archives
             '("melpa-stable" . "https://stable.melpa.org/packages/") t)

(unless (package-installed-p 'use-package)
  (package-refresh-contents)
  (package-install 'use-package)
)

(use-package rainbow-delimiters  :ensure t)
(use-package magit  :ensure t)
...
You can manage package parameters directly with elisp code, as in:
(setq dired-isearch-filenames 'dwim)
Alternatively one can use the "customize" interface provided by emacs, but I find the direct approach easier to understand and maintain.