I've been holding off on adding packages to my configuration until I had been at this for a month. So it's finally time to celebrate a month of daily blogging by adding every major package repository to my configuration:

(require 'package)
(setq package-archives
      '(("melpa-stable" . "https://stable.melpa.org/packages/")
        ("marmalade" . "https://marmalade-repo.org/packages/")
        ("melpa" . "https://melpa.org/packages/")
        ("elpa" . "https://elpa.gnu.org/packages/")))
(setq package-enable-at-startup nil)
(package-initialize)

Note that instead of using add-to-list I have used setq. This is because for no functional reason, I just like seeing elpa instead of gnu as the name of the core Emacs repo. Whenever possible, I will try and use packages from the elpa repository first, then melpa-stable, then melpa, then marmalade. I have nothing against Marmalade, and placing it last is not a statement about its quality or trustworthiness, I just like MELPA's idea of having a stable repository.

There are many, many packages to choose from, and it's been hard living without them for the first month of this blog. So let's start slow, by installing the package use-package that will enable us to easily use and configure other packages.

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

(eval-when-compile
  (require 'use-package))

This tells Emacs to download use-package if it's not already installed. For most of this week we will revel in silly little cosmetic changes that make me happy.