From 04094ad3ef7705d90fa6565884ec9a66a0c2252f Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Thu, 1 Aug 2024 18:01:51 +0400 Subject: rewrite config into literate org mode --- .gitignore | 8 +++++ config.org | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ init.el | 56 +----------------------------- init.old.el | 55 +++++++++++++++++++++++++++++ 4 files changed, 176 insertions(+), 55 deletions(-) create mode 100644 config.org create mode 100644 init.old.el diff --git a/.gitignore b/.gitignore index d36c502..3099890 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,11 @@ +.* +!.gitignore elpa auto-save-list backup +eln-cache/ +transient/ +eshell/ +custom.el +config.el + diff --git a/config.org b/config.org new file mode 100644 index 0000000..e564bb2 --- /dev/null +++ b/config.org @@ -0,0 +1,112 @@ +#+TITLE: My configuration +#+AUTHOR: Andrew Guschin +#+PROPERTY: tangle yes + +#+BEGIN_SRC emacs-lisp +(when (package-installed-p 'ayu-theme) + (load-theme 'ayu-grey t)) + +(add-to-list 'default-frame-alist + '(font . "FiraCode Nerd Font 15")) + +;;; GUI settings: +(when (eq system-type 'gnu/linux) + (menu-bar-mode -1)) +(when (eq system-type 'darwin) + (menu-bar-mode t)) +(tool-bar-mode -1) +(toggle-scroll-bar -1) +(xterm-mouse-mode 1) +(buffer-face-mode) +(global-set-key (kbd "C-") 'ignore) +(global-set-key (kbd "C-") 'ignore) +(setq-default display-line-numbers-mode nil) +(setq-default display-line-numbers nil) +(add-hook 'prog-mode-hook + (lambda () (display-line-numbers-mode t))) +(pixel-scroll-precision-mode t) +(setq frame-resize-pixelwise t) + +(setq-default indent-tabs-mode nil) +(setq-default tab-width 4) +(setq-default c-default-style "bsd") +(setq-default c-basic-offset 4) + +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/") t) + +(defun ensure-packages (packages) + (dolist (name packages) + (unless (package-installed-p name) + (package-install name)))) + +(ensure-packages '(evil)) +(use-package evil + :hook + (evil-insert-state-entry . (lambda () (setq display-line-numbers t))) + :hook + (evil-normal-state-entry . (lambda () (setq display-line-numbers 'relative))) + :config + (evil-mode 1)) + +(ensure-packages '(ayu-theme)) + +(ensure-packages '(magit)) + +(ensure-packages '(paredit rainbow-delimiters)) +(use-package paredit + :hook + (emacs-lisp-mode . paredit-mode)) +(use-package rainbow-delimiters + :hook + (emacs-lisp-mode . rainbow-delimiters-mode)) + + +(ensure-packages '(exec-path-from-shell)) +(use-package exec-path-from-shell + :config + (when (memq window-system '(mac ns x)) + (setenv "EMACS" "emacs") + (setq exec-path-from-shell-variables + '("PATH" "CARGO_HOME" "RUSTUP_HOME" "GOPATH" + "RYE_HOME" "NPM_CONFIG_USERCONFIG" + "STACK_ROOT" "GHCUP_USE_XDG_DIRS")) + (exec-path-from-shell-initialize))) + +(ensure-packages '(rust-mode + lsp-java + lsp-ui + company + helm + avy)) +(use-package lsp-mode + :init + ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l") + (setq lsp-keymap-prefix "C-c l") + (use-package rust-mode) + (use-package lsp-java) + (setq lsp-java-server-install-dir + (concat (getenv "HOME") "/.local/share/jdtls/")) + ;; if you want which-key integration + ;;(lsp-mode . lsp-enable-which-key-integration)) + :hook ((rust-mode . lsp) + (java-mode . lsp) + (c++-mode . lsp)) + :commands lsp) +(use-package lsp-ui :commands lsp-ui-mode) +(use-package helm-lsp :commands helm-lsp-workspace-symbol) + + +(defun my-backup-file-name (fpath) + "Return a new file path of a given file path. If the new path's + directories does not exist, create them." + (let* ((backupRootDir (expand-file-name "backup" user-emacs-directory)) + (filePath (replace-regexp-in-string "[A-Za-z]:" "" fpath )) ; remove Windows driver letter in path, for example, “C:” + (backupFilePath (replace-regexp-in-string "//" "/" (concat backupRootDir filePath "~") ))) + (make-directory (file-name-directory backupFilePath) (file-name-directory backupFilePath)) + backupFilePath)) +(setq make-backup-file-name-function 'my-backup-file-name) + +(setq custom-file (expand-file-name "custom.el" user-emacs-directory)) +(load custom-file) +#+END_SRC diff --git a/init.el b/init.el index bb004ad..f12efca 100644 --- a/init.el +++ b/init.el @@ -1,55 +1 @@ -(require 'package) -(add-to-list 'package-archives - '("melpa" . "https://melpa.org/packages/") t) -(package-initialize) -(dolist (package '(monokai-pro-theme evil yasnippet yaml-mode)) - (unless (package-installed-p package) - (package-install package))) -; (add-to-list 'load-path "~/.emacs.d/packages") - -(menu-bar-mode -1) -(tool-bar-mode -1) -(toggle-scroll-bar -1) -(xterm-mouse-mode 1) -(set-frame-font "DejaVu Sans Mono 15" nil t) -(load-theme 'monokai-pro-spectrum t) - -;; (require 'evil) -;; (evil-mode 1) - -(require 'yasnippet) -(yas-global-mode 1) - -(setq linum-format " %d") -(global-linum-mode 1) - -(with-eval-after-load "ispell" - (setq ispell-program-name "hunspell") - (setq ispell-dictionary "en_US,ru_RU") - (ispell-set-spellchecker-params) - (ispell-hunspell-add-multi-dic "en_US,ru_RU")) -(dolist (hook '(text-mode-hook latex-mode org-mode)) - (add-hook hook (lambda () (flyspell-mode 1) (flyspell-buffer)))) - -(defun my-backup-file-name (fpath) - "Return a new file path of a given file path. If the new path's - directories does not exist, create them." - (let* ( - (backupRootDir "~/.emacs.d/backup/") - (filePath (replace-regexp-in-string "[A-Za-z]:" "" fpath )) ; remove Windows driver letter in path, for example, “C:” - (backupFilePath (replace-regexp-in-string "//" "/" (concat backupRootDir filePath "~") )) - ) - (make-directory (file-name-directory backupFilePath) (file-name-directory backupFilePath)) - backupFilePath - ) -) - -(setq make-backup-file-name-function 'my-backup-file-name) - -(require 'yaml-mode) -(require 'json) -(require 'ox) -(setq org-image-actual-width nil) -(setq org-format-latex-options (plist-put org-format-latex-options :scale 1.7)) -(setq org-latex-create-formula-image-program 'dvipng) - +(org-babel-load-file (expand-file-name "config.org" user-emacs-directory)) diff --git a/init.old.el b/init.old.el new file mode 100644 index 0000000..bb004ad --- /dev/null +++ b/init.old.el @@ -0,0 +1,55 @@ +(require 'package) +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/") t) +(package-initialize) +(dolist (package '(monokai-pro-theme evil yasnippet yaml-mode)) + (unless (package-installed-p package) + (package-install package))) +; (add-to-list 'load-path "~/.emacs.d/packages") + +(menu-bar-mode -1) +(tool-bar-mode -1) +(toggle-scroll-bar -1) +(xterm-mouse-mode 1) +(set-frame-font "DejaVu Sans Mono 15" nil t) +(load-theme 'monokai-pro-spectrum t) + +;; (require 'evil) +;; (evil-mode 1) + +(require 'yasnippet) +(yas-global-mode 1) + +(setq linum-format " %d") +(global-linum-mode 1) + +(with-eval-after-load "ispell" + (setq ispell-program-name "hunspell") + (setq ispell-dictionary "en_US,ru_RU") + (ispell-set-spellchecker-params) + (ispell-hunspell-add-multi-dic "en_US,ru_RU")) +(dolist (hook '(text-mode-hook latex-mode org-mode)) + (add-hook hook (lambda () (flyspell-mode 1) (flyspell-buffer)))) + +(defun my-backup-file-name (fpath) + "Return a new file path of a given file path. If the new path's + directories does not exist, create them." + (let* ( + (backupRootDir "~/.emacs.d/backup/") + (filePath (replace-regexp-in-string "[A-Za-z]:" "" fpath )) ; remove Windows driver letter in path, for example, “C:” + (backupFilePath (replace-regexp-in-string "//" "/" (concat backupRootDir filePath "~") )) + ) + (make-directory (file-name-directory backupFilePath) (file-name-directory backupFilePath)) + backupFilePath + ) +) + +(setq make-backup-file-name-function 'my-backup-file-name) + +(require 'yaml-mode) +(require 'json) +(require 'ox) +(setq org-image-actual-width nil) +(setq org-format-latex-options (plist-put org-format-latex-options :scale 1.7)) +(setq org-latex-create-formula-image-program 'dvipng) + -- cgit v1.2.3