2020-10-24 06:12:37 +02:00
#+TITLE : Emacs Configuration from [[https://gitlab.com/TuDatTr/][TuDatTr]]
2020-10-24 07:44:46 +02:00
#+REVEAL_ROOT : https://cdn.jsdelivr.net/npm/reveal.js
2020-10-24 06:18:00 +02:00
#+OPTIONS : n:t
2018-01-10 03:56:51 +01:00
2020-10-24 07:44:46 +02:00
* Preface
Before installing and using emacs, emacs should be run as a daemon.
This decreases the loading times of the editor enormously and enables you to return to your former emacs session at any time.
To do this you first need to make sure =emacs --daemon= is run during the start up.
To access the daemonized emacs you can either run =emacsclient -t= to use it in the terminal or simply =emacsclient= if you want to use the GUI version.
2020-10-24 06:12:37 +02:00
* Package installation
** Preperation
2020-10-24 06:18:00 +02:00
Initialize Emacs builtin package system and add the [[https://melpa.org ][melpa ]]-package repository.
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
2018-01-10 06:33:52 +01:00
(require 'package)
2020-10-24 06:12:37 +02:00
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/ "))
2018-01-14 12:25:14 +01:00
(package-initialize)
2020-10-24 06:12:37 +02:00
#+END_SRC
** Package installation
2020-10-24 07:44:46 +02:00
*** [[https://github.com/jwiegley/use-package][use-package]]
2020-10-24 06:18:00 +02:00
~A use-package declaration for simplifying your .emacs~
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
2018-01-14 12:25:14 +01:00
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
2020-10-24 06:12:37 +02:00
#+END_SRC
2018-01-14 12:25:14 +01:00
2020-10-24 07:44:46 +02:00
*** [[https://github.com/myrjola/diminish.el][diminish]]
2020-10-24 06:18:00 +02:00
~Diminished modes are minor modes with no modeline display~
2018-01-19 06:50:57 +01:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(use-package diminish)
#+END_SRC
2018-05-27 18:52:35 +02:00
2020-10-24 07:44:46 +02:00
*** [[https://github.com/emacscollective/no-littering][no-littering]]
2020-10-24 06:18:00 +02:00
~Help keeping ~ /.emacs.d clean~
2018-01-10 06:33:52 +01:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(use-package no-littering)
#+END_SRC
2018-01-10 06:33:52 +01:00
2020-10-24 07:44:46 +02:00
*** [[https://github.com/emacs-evil/evil][evil]]/[[https://github.com/emacs-evil/evil-collection][evil-collection]]
2020-10-24 06:18:00 +02:00
~The extensible vi layer for Emacs.~
~A set of keybindings for evil-mode~
2018-01-10 06:33:52 +01:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(use-package evil
:init
(setq evil-want-keybinding nil)
:config
(evil-mode 1)
(setq evil-search-module 'evil-search))
2018-01-14 12:25:14 +01:00
2020-10-24 06:12:37 +02:00
(use-package evil-collection
:config
(evil-collection-init))
#+END_SRC
2018-03-15 11:32:26 +01:00
2020-10-24 07:44:46 +02:00
*** [[https://github.com/abo-abo/swiper][Ivy/Counsil/Swiper]]
2020-10-24 06:12:37 +02:00
~Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man!~
2018-03-15 11:32:26 +01:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(use-package prescient)
2018-06-24 13:25:59 +02:00
2020-10-24 06:12:37 +02:00
(use-package ivy-prescient
:config
(ivy-prescient-mode 1))
2018-06-24 13:25:59 +02:00
2020-10-24 06:12:37 +02:00
(use-package ivy)
2018-01-10 06:33:52 +01:00
2020-10-24 06:12:37 +02:00
(use-package counsel
:diminish counsel-mode
:config
(counsel-mode 1))
2018-04-29 23:13:10 +02:00
2020-10-24 06:12:37 +02:00
(use-package swiper
:bind (("C-s" . 'swiper)))
#+END_SRC
2020-10-24 07:44:46 +02:00
*** [[https://github.com/yjwen/org-reveal][ox-reveal]]
~Exports Org-mode contents to Reveal.js HTML presentation.~
#+BEGIN_SRC emacs-lisp
(use-package ox-reveal)
#+END_SRC
*** [[https://github.com/marsmining/ox-twbs][ox-twbs]]
2020-10-24 06:55:37 +02:00
~Export org-mode docs as HTML compatible with Twitter Bootstrap.~
#+BEGIN_SRC emacs-lisp
(use-package ox-twbs)
#+END_SRC
2020-10-24 07:44:46 +02:00
*** [[https://github.com/sabof/org-bullets][org-bullets]]
2020-10-24 06:18:00 +02:00
~utf-8 bullets for org-mode~
2018-04-05 09:46:48 +02:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(use-package org-bullets)
#+END_SRC
2018-04-29 23:13:10 +02:00
2020-10-24 06:12:37 +02:00
* Appearance
2020-10-24 06:18:00 +02:00
This section is for appearance customization. Either via packages or manually.
2018-01-10 06:33:52 +01:00
2020-10-24 07:44:46 +02:00
** [[https://github.com/kuanyui/moe-theme.el][moe-theme]]
2020-10-24 06:18:00 +02:00
~A customizable colorful eye-candy theme for Emacser. Moe, moe, kyun!~
2018-01-13 15:29:33 +01:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(use-package moe-theme
:config
(moe-dark))
#+END_SRC
2018-01-22 16:34:03 +01:00
2020-10-24 06:12:37 +02:00
** Transparent Emacs
2020-10-24 06:18:00 +02:00
Makes the default color of the background of emacs the same as the terminals color.
This is kind of a janky solution, but it works.
2018-01-31 04:23:36 +01:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(add-hook 'window-setup-hook
2018-04-29 23:13:10 +02:00
'(lambda ()
2020-10-24 06:12:37 +02:00
(set-face-background 'default "unspecified-bg")))
#+END_SRC
2018-04-05 09:46:48 +02:00
2020-10-24 06:12:37 +02:00
** Menubar
2018-01-31 04:23:36 +01:00
2020-10-24 06:18:00 +02:00
Remove the menu-bar at the top of the screen for better immersion.
2018-01-13 15:29:33 +01:00
2020-10-24 06:12:37 +02:00
#+BEGIN_SRC emacs-lisp
(menu-bar-mode -1)
#+END_SRC
2018-01-13 15:29:33 +01:00
2020-10-24 06:55:37 +02:00
* Emacs Configuration
** Symbolic Links
2020-10-24 07:44:46 +02:00
Follow symlinks without asking for confirmation.
2020-10-24 06:55:37 +02:00
#+BEGIN_SRC emacs-lisp
(setq vc-follow-symlinks t)
#+END_SRC
2018-01-19 06:50:57 +01:00
2020-10-24 06:55:37 +02:00
* Mode Configuration
** Org-Mode
Always unfold every section in org files.
#+BEGIN_SRC emacs-lisp
2020-10-24 06:12:37 +02:00
(add-hook 'org-mode-hook #'org-show-all)
2020-10-24 06:55:37 +02:00
#+END_SRC
Enable org-bullets and hide leading stars.
#+BEGIN_SRC emacs-lisp
(add-hook 'org-mode-hook
(lambda ()
(org-bullets-mode 1)))
#+END_SRC