This repository has been archived on 2022-11-18. You can view files and clone it, but cannot push or open issues or pull requests.
emacs/init.el

140 lines
5.5 KiB
EmacsLisp

;;; init.el --- Emacs Initialization File
;;
;; Copyright (c) 2017 Wojciech Kozlowski
;;
;; Author: Wojciech Kozlowski <wk@wojciechkozlowski.eu>
;; URL: https://gitlab.wojciechkozlowski.eu/config/emacs.d
;; URL: https://github.com/Wojtek242/.emacs.d
;; Created: 17 Aug 2017
;;
;;; License: GPLv3
;;; Commentary:
;;; Code:
;; ----------------------------------------------------------------------------
;; Run init without garbage collection.
;; ----------------------------------------------------------------------------
(let ((gc-cons-threshold most-positive-fixnum))
;; --------------------------------------------------------------------------
;; Initialise and setup `package'.
;; --------------------------------------------------------------------------
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
;; --------------------------------------------------------------------------
;; Visual configuration.
;; --------------------------------------------------------------------------
;; Font ---------------------------------------------------------------------
(let* ((font-name "Source Code Pro")
(font-size 10)
(font-spec (concat font-name "-" (int-to-string font-size))))
(set-frame-font font-spec nil t)
(add-to-list 'default-frame-alist `(font . ,font-spec))
(set-face-attribute 'italic nil ;; Emacs does not set italic face
:family (concat font-name "-Italic")))
;; Fullscreen ---------------------------------------------------------------
(toggle-frame-maximized)
(add-to-list 'default-frame-alist '(fullscreen . maximized))
;; Visual clutter -----------------------------------------------------------
(scroll-bar-mode -1)
(tool-bar-mode -1)
(menu-bar-mode -1)
(blink-cursor-mode -1)
;; Theme --------------------------------------------------------------------
;; Add the necessary paths.
(add-to-list 'load-path "~/.emacs.d/themes/")
(add-to-list 'custom-theme-load-path "~/.emacs.d/themes/")
;; Load the dark theme by default.
(load-theme 'havoc-dark t) ;; Load personal theme
;; --------------------------------------------------------------------------
;; Change file in which custom variable changes are saved.
;; --------------------------------------------------------------------------
(setq-default custom-file "~/.emacs.d/custom.el")
;; *********************************************************************** ;;
;; ;;
;; MODULES ;;
;; ;;
;; ----------------------------------------------------------------------- ;;
;; ;;
;; ;;
;; Visual configuration must come before this point so that the frame can ;;
;; be set up before any time consuming package management. ;;
;; ;;
;; ;;
;; *********************************************************************** ;;
;; --------------------------------------------------------------------------
;; Load `emodule'.
;; --------------------------------------------------------------------------
(add-to-list 'load-path "~/.emacs.d/emodule")
(require 'emodule)
(declare-function emodule/init "emodule")
;; --------------------------------------------------------------------------
;; Load modules.
;; --------------------------------------------------------------------------
(emodule/init '(
em-editing
em-emacs
em-files
em-helm
em-helm-gtags
em-modeline
em-org
em-parentheses
em-programming
em-terminal
em-version-control
em-workflow
))
;; *********************************************************************** ;;
;; ;;
;; ;;
;; Any configuration that is not in a module or needs to override module ;;
;; settings should be set below this point. ;;
;; ;;
;; ;;
;; ----------------------------------------------------------------------- ;;
;; ;;
;; END MODULES ;;
;; ;;
;; *********************************************************************** ;;
;; --------------------------------------------------------------------------
;; Load any custom variables.
;; --------------------------------------------------------------------------
(load custom-file 'noerror)
) ;; Reset garbage collection settings.
(provide 'init)
;;; init.el ends here