summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-08-01 18:01:51 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-08-01 18:01:51 +0400
commit04094ad3ef7705d90fa6565884ec9a66a0c2252f (patch)
treeaf26b49d0f8d1fdf65383fc829cac86e7f1c2101
parent9275855fa1fab8940a0e6504b9f27460083f9feb (diff)
rewrite config into literate org mode
-rw-r--r--.gitignore8
-rw-r--r--config.org112
-rw-r--r--init.el56
-rw-r--r--init.old.el55
4 files changed, 176 insertions, 55 deletions
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-<wheel-up>") 'ignore)
+(global-set-key (kbd "C-<wheel-down>") '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)
+