~w96k/at-w96k

97a375aa3d80b7e34d0fee0ca3cf7fa0b3cf67fe — Mikhail Kirillov 7 months ago 54096f7 master
Add emacs page
1 files changed, 99 insertions(+), 0 deletions(-)

A content/emacs.org
A content/emacs.org => content/emacs.org +99 -0
@@ 0,0 1,99 @@
#+TITLE: Конфигурация Emacs
#+LANGUAGE: ru

* Конфигурация Emacs
#+CAPTION: Логотип Emacs
[[https://www.gnu.org/software/emacs/images/emacs.png]]

  [[https://www.gnu.org/software/emacs/][Emacs]] -- текстовый редактор от сообщества GNU. Он расширается при
  помощи языка Emacs Lisp.

  Для конфигурации я использую технику [[https://ru.wikipedia.org/wiki/Грамотное_программирование][грамотного программирования]] при
  помощи [[https://orgmode.org][Org-mode]]. Я стараюсь придерживаться минимальной конфигурации
  и не давать разрастаться конфигу в размере.

#+BEGIN_EXPORT html

<a href="https://git.sr.ht/~w96k/dotfiles" class="button">
  <span class="icon-link"></span>
  Репозиторий
</a>
#+END_EXPORT

  Часть пакетов и сам emacs загружаются через guix. Остальное
  загружается через use-package.

** system.scm (пакеты, подгружаемые guix)
#+BEGIN_SRC scheme
(packages
  (append
   (map specification->package
        '("emacs-next"
          "emacs-with-editor"
          "emacs-use-package"
          "emacs-guix"
          "emacs-pdf-tools"))))
#+END_SRC

** init.el
#+BEGIN_SRC emacs-lisp 
;;;; Emacs --- My config for Emacs that I use in day-to-day work
;;;;
;;;; https://w96k.com/
;;;; 2018-2019 (c) Mikhail w96k Kirillov

;;;; INIT

;; increase GC-limit up to 100M for boot speedup
(setq gc-cons-threshold 500000000)

;; Show errors
(setq debug-on-error t)
(setq debug-on-quit nil)

(require 'package)

(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")))

(package-initialize)

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

;; restore GC-limit after timeout
(run-with-idle-timer
 15 nil
 (lambda ()
   (setq gc-cons-threshold 100000)))

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

(use-package use-package
  :defer nil
  :config
  (setq use-package-verbose t)
  (setq use-package-always-defer nil)
  (setq use-package-always-ensure t))

(use-package auto-package-update
  :after use-package
  :config
  (setq auto-package-update-delete-old-versions t)
  (setq auto-package-update-hide-results t)
  (auto-package-update-maybe))

(use-package use-package-ensure-system-package :ensure)

(use-package use-package-hydra)

(org-babel-load-file "~/.emacs.d/config.org")

#+END_SRC

#+INCLUDE: "~/.emacs.d/config.org" :only-contents