-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.el
96 lines (71 loc) · 2.12 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
;; Initialize packages
(require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
("org" . "https://orgmode.org/elpa/")
("elpa" . "https://elpa.gnu.org/packages/")))
(package-initialize)
(unless package-archive-contents
(package-refresh-contents))
(unless (package-installed-p 'use-package)
(package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
;; Defaults
(use-package better-defaults)
(delete-selection-mode 1)
(setq create-lockfiles nil)
(column-number-mode 1)
(add-hook 'prog-mode-hook #'display-line-numbers-mode)
;; Ido and Completion
(ido-mode 1)
(ido-everywhere 1)
(use-package ido-completing-read+
:init (ido-ubiquitous-mode 1))
(use-package ido-vertical-mode
:config (ido-vertical-mode 1)
:custom (ido-vertical-define-keys 'C-n-C-p-up-and-down))
;; Cosmetic
(when (member "SF Mono" (font-family-list))
(set-face-attribute 'default nil :family "SF Mono" :height 124))
(use-package doom-themes
:config (load-theme 'doom-one t))
(use-package solaire-mode
:config (solaire-global-mode 1))
(use-package doom-modeline
:init (doom-modeline-mode 1)
:custom (doom-modeline-icon nil))
(use-package anzu
:config (global-anzu-mode 1))
;; Projects
(use-package projectile
:config (projectile-mode 1)
:bind-keymap ("C-c p" . projectile-command-map))
(use-package exec-path-from-shell
:config (exec-path-from-shell-initialize))
(use-package magit
:commands magit-status)
(use-package gist
:commands (gist-list gist-region-or-buffer))
(use-package dockerfile-mode)
(use-package docker
:commands docker)
(use-package gptel
:commands (gptel gptel-send))
;; Coding
(use-package lsp-mode
:commands (lsp lsp-deferred)
:init (setq lsp-keymap-prefix "C-c l"))
(use-package company
:hook (prog-mode . company-mode))
(use-package paredit
:hook ((lisp-data-mode . paredit-mode)
(scheme-mode . paredit-mode)))
(use-package nix-mode
:mode "\\.nix\\'")
(use-package rust-mode
:mode "\\.rs\\'")
(use-package inf-ruby
:commands inf-ruby
:hook (ruby-mode . inf-ruby-minor-mode))
(use-package yari
:commands yari)