Installing packages automatically
The standard Emacs package manager is documented in the Emacs manual (see Package Installation in GNU Emacs Manual). The use-package macro provides the :ensure and :pin keywords that interface with that package manager to automatically install packages. The :vc keyword may be used to control how package sources are downloaded; e.g., from remote hosts (see Fetching Package Sources in GNU Emacs Manual). This is particularly useful if you use your init file on more than one system.