-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.el
119 lines (95 loc) · 2.5 KB
/
init.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
;;; init.el --- Rustem B.'s Emacs config file. -*- lexical-binding: t; -*-
;;; Commentary:
;; This is my personal Emacs configuration.
;;; Code:
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
(setq ring-bell-function #'ignore)
(setq inhibit-startup-screen t)
(setq initial-scratch-message nil)
(blink-cursor-mode -1)
(scroll-bar-mode -1)
(tool-bar-mode -1)
(menu-bar-mode -1)
(line-number-mode)
(column-number-mode)
(setq user-mail-address "[email protected]"
user-full-name "Rustem Bakirov")
(set-frame-font "monospace")
(set-face-attribute 'default nil :height 180)
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(use-package paren
:ensure t
:config
(show-paren-mode t)
(setq show-paren-style 'expression))
(use-package srcery-theme
:ensure t
:config
(load-theme 'srcery t))
(use-package company
:ensure t
:hook
(after-init . global-company-mode))
(use-package lsp-mode
:ensure t
:init (setq lsp-keymap-prefix "C-c l")
:hook ((python-mode . lsp)
(c-mode . lsp)
(c++-mode . lsp)
(prolog-mode . lsp)
(rust-mode . lsp)
(sh-mode . lsp))
:config
(setq lsp-rust-library-directories '("~/.config/cargo/registry/src"
"~/.config/rustup/toolchains"))
(lsp-register-client
(make-lsp-client
:new-connection
(lsp-stdio-connection (list "swipl"
"-g" "use_module(library(lsp_server))."
"-g" "lsp_server:main"
"-t" "halt"
"--" "stdio"))
:major-modes '(prolog-mode)
:priority 1
:multi-root t
:server-id 'prolog-ls)))
(use-package magit
:ensure t)
(use-package highlight-defined
:ensure t
:hook (emacs-lisp-mode . highlight-defined-mode))
(use-package elcord
:ensure t
:init (elcord-mode)
:config (setq elcord-editor-icon "emacs_material_icon"))
(use-package rust-mode
:ensure t
:config (setq rust-format-on-save t))
(use-package which-key
:ensure t
:config (which-key-mode))
(use-package org
:ensure t)
(use-package julia-mode
:ensure t)
(use-package j-mode
:ensure t
:config
(setq j-console-cmd "/usr/lib/j9/bin/jconsole"))
(use-package elm-mode
:ensure t
:hook (elm-mode . elm-format-on-save-mode)
:bind ("C-c C-f" . elm-format-buffer)
:config (setq elm-tags-on-save t
elm-tags-exclude-elm-stuff nil))
(use-package flycheck
:ensure t
:config
(global-flycheck-mode))
;;; init.el ends here