Example
;; disable automatic loading of packages after the init file
(setq package-enable-at-startup nil)
;; instead load them explicitly
(package-initialize)
;; refresh package descriptions
(unless package-archive-contents
(package-refresh-contents))
;;; use-package initialization
;;; install use-package if not already done
(if (not (package-installed-p 'use-package))
(progn
(package-refresh-contents)
(package-install 'use-package)))
;;; use-package for all others
(require 'use-package)
;; install your packages
(use-package helm
:ensure t)
(use-package magit
:ensure t)