Emacs Main Initialization File

This is the main file of my personnal Gnu/Emacs config environment. It is mainly use to reference other files, where all the magic happens.

The complete source code of my configuration files, including the Makefile, responsible of the org-to-el compilation, are available on its own git repository.

1 Global Options

Minimal declarations to have a feel-good emacs:

(tool-bar-mode 0)
(menu-bar-mode 0)
(scroll-bar-mode 0)
(tooltip-mode 0)
(transient-mark-mode t)
(delete-selection-mode t)
(global-font-lock-mode t)
(blink-cursor-mode t)

(setq select-enable-clipboard t
      visible-bell t
      current-language-environment "UTF-8"
      major-mode 'text-mode ; Mode text par défaut
      frame-title-format "Gnu/Emacs - %b" ; Titre de l'appli dans la barre des tâches
      icon-title-format "Gnu/Emacs - %b"
      inhibit-startup-screen t
      ;;;debug-on-error t
      suggest-key-bindings 5)

2 Package Management

Since the first decade of the XXIst century, we have a decent package manager for emacs. Here is its config.

I only user melpa as an alternative package source.

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

All these packages needs to be installed:

  • adoc-mode
  • ag
  • auctex
  • auto-complete
  • autopair
  • coffee-mode
  • color-theme
  • dracula-theme
  • editorconfig
  • emmet-mode
  • emojify
  • eww-lnum
  • flycheck
  • fountain-mode
  • imenu-anywhere
  • lua-mode
  • magit
  • markdown-mode
  • mu4e-maildirs-extension
  • multiple-cursors
  • php-mode
  • pkgbuild-mode
  • python-mode
  • rainbow-mode
  • ruby-end
  • rust-mode
  • rvm
  • scss-mode
  • slim-mode
  • smex
  • ttl-mode
  • web-mode

You may want to execute the content of the file install_packages.el to install all of them in batch mode.

I need to install these system package on archlinux to have the whole thing behaves as intended:

  • mu
  • xorg-fonts-100dpi
  • w3m (to have html mail preview in mu4e)

3 Detailed Configuration

The following sub-files contain all the required settings to customize various aspects of my emacs usage (as an authorship environment, as an integrated development environment…).

The previous files does not contains any sensible information, in order to publish them widely on the internet. All my private stuff are kept in the secrets folder.

(load-file "~/.emacs.d/secrets/milouse.el")

Finally, load a nice distraction less mode for authoring

(load-file "~/.emacs.d/modes/distractionless.el")

4 Beautification

What would be the world if we could not paint it as we want?

(load-file “~/.emacs.d/beauty.el”)

5 Emacs Own Stuff

Auto-generated stuff I kept from one tangle time to another.

(load custom-file)