summary refs log tree commit diff
path: root/init.el
blob: 9549479909186595454fc779ad3d7b2208f625eb (plain) (blame)
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
;; disable toolbars
(menu-bar-mode -1)
(tool-bar-mode -1)
(scroll-bar-mode -1)
;; # apt install fonts-mononoki
(set-face-attribute 'default nil
                    :family "Iosevka Fixed"
                    :height 120
                    :weight 'normal
                    :width  'normal)

;;; packages stuff
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(browse-url-browser-function 'browse-url-firefox)
 '(custom-safe-themes
   '("01cf34eca93938925143f402c2e6141f03abb341f27d1c2dba3d50af9357ce70" default))
 '(helm-minibuffer-history-key "M-p")
 '(inhibit-startup-screen t)
 '(package-selected-packages
   '(company doom-themes solarized-theme evil-tutor undo-fu evil-collection flycheck-rust rust-mode evil-visual-mark-mode tidal racket-mode helm helm-flycheck lsp-mode lsp-ui magit evil lsp-haskell use-package)))
(require 'package)
(add-to-list 'package-archives (cons "melpa"  "https://melpa.org/packages/") t)
(package-initialize)
;; Theme
(load-theme 'doom-laserwave t)
;; Programming languages
(use-package flycheck
  :ensure t
  :init
  (global-flycheck-mode t))
(use-package lsp-mode
  :ensure t
  :config
  (setq lsp-prefer-flymake nil)
  :hook (haskell-mode . lsp-deferred)
  (rust-mode . lsp-deferred)
  :commands lsp)
(use-package lsp-ui
  :ensure t
  :commands lsp-ui-mode)
(use-package lsp-haskell
 :ensure t
 )
(with-eval-after-load 'rust-mode
  (add-hook 'flycheck-mode-hook #'flycheck-rust-setup))
(add-hook 'prog-mode-hook 'linum-mode)
;; Evil
(use-package evil
  :ensure t
  :init
  (setq evil-want-keybinding nil)
  (setq evil-want-fine-undo nil)
  (setq evil-undo-system 'undo-fu)
  :config
  (evil-mode 1))
(use-package evil-collection
  :after evil
  :ensure t
  :config
  (evil-collection-init))
;; Helm
(use-package helm
  :ensure t
  :bind (("M-x" . helm-M-x)
	("\C-x\C-f" . helm-find-files))
  :config
  (setq helm-M-x-fuzzy-match t)
  (define-key evil-ex-map "x" 'helm-M-x)
  (define-key evil-ex-map "b" 'helm-mini)
  (define-key evil-ex-map "e" 'helm-find-files))

(use-package magit
  :ensure t
  :bind (("C-x g". 'magit-status)))
  
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

(add-to-list 'auto-mode-alist '("\\.lagda.md\\'" . agda2-mode))
(load-file (let ((coding-system-for-read 'utf-8))
                (shell-command-to-string "agda-mode locate")))