summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2025-07-16 01:03:36 +0300
committerGravatar Uko Kokņevičs2025-07-16 01:03:36 +0300
commit2657b8d7ff86b69085289b0685d0ad414fd59968 (patch)
tree26e04f1e946a60ae77d97c764faef907b0b1c253
parentAdd zsh (diff)
parentMove Emacs stuff to emacs/.config/emacs (diff)
downloaddotfiles-2657b8d7ff86b69085289b0685d0ad414fd59968.tar.gz
dotfiles-2657b8d7ff86b69085289b0685d0ad414fd59968.tar.xz
dotfiles-2657b8d7ff86b69085289b0685d0ad414fd59968.zip
Merge branch 'emacs-main'
-rw-r--r--emacs/.config/emacs/.gitignore9
-rw-r--r--emacs/.config/emacs/arkta/arkta-cosmetic.el150
-rw-r--r--emacs/.config/emacs/arkta/arkta-progmodes.el285
-rw-r--r--emacs/.config/emacs/arkta/arkta-project.el143
-rwxr-xr-xemacs/.config/emacs/bin/init13
-rw-r--r--emacs/.config/emacs/early-init.el20
-rw-r--r--emacs/.config/emacs/init.el436
-rw-r--r--emacs/.config/emacs/logo.pngbin0 -> 50994 bytes
-rw-r--r--emacs/.config/emacs/shared/custom.el17
-rw-r--r--emacs/.config/emacs/shared/elpaca-lock.el412
10 files changed, 1485 insertions, 0 deletions
diff --git a/emacs/.config/emacs/.gitignore b/emacs/.config/emacs/.gitignore
new file mode 100644
index 0000000..e39d2ba
--- /dev/null
+++ b/emacs/.config/emacs/.gitignore
@@ -0,0 +1,9 @@
1.cache/
2auto-save-list/
3eln-cache/
4local/
5transient/
6*~
7projectile-bookmarks.eld
8recentf
9/forge-database*.sqlite
diff --git a/emacs/.config/emacs/arkta/arkta-cosmetic.el b/emacs/.config/emacs/arkta/arkta-cosmetic.el
new file mode 100644
index 0000000..96e5498
--- /dev/null
+++ b/emacs/.config/emacs/arkta/arkta-cosmetic.el
@@ -0,0 +1,150 @@
1;; -*- lexical-binding: t -*-
2;; Copyright © 2018-2025 Uko Koknevics
3
4(use-package ansi-color
5 :ensure nil
6 :hook (compilation-filter . ansi-color-compilation-filter)
7 :custom
8 (ansi-color-for-compilation-mode t))
9
10(use-package centaur-tabs
11 :ensure t
12 :demand t
13 :init
14 (defun arkta/disable-centaur-tabs-mode ()
15 (centaur-tabs-local-mode +1))
16 :hook (dashboard-mode . arkta/disable-centaur-tabs-mode)
17 :bind (("C-x <C-right>" . centaur-tabs-forward)
18 ("C-x <right>" . centaur-tabs-forward)
19 ("C-x <C-left>" . centaur-tabs-backward)
20 ("C-x <left>" . centaur-tabs-backward))
21 :custom
22 (centaur-tabs-style "alternate")
23 (centaur-tabs-height 35)
24 (centaur-tabs-icon-type 'nerd-icons)
25 (centaur-tabs-set-icons t)
26 (centaur-tabs-gray-out-icons 'buffer)
27 (centaur-tabs-set-bar 'over)
28 (centaur-tabs-set-close-button nil)
29 (centaur-tabs-set-modified-marker t)
30 (centaur-tabs-modified-marker "●")
31 (centaur-tabs-cycle-scope 'tabs)
32 :config
33 (centaur-tabs-mode +1))
34
35(use-package display-fill-column-indicator
36 :ensure nil
37 :demand t
38 :init
39 (defun arkta/disable-dfci ()
40 (display-fill-column-indicator-mode -1))
41 :hook (dashboard-mode . arkta/disable-dfci)
42 :config
43 (global-display-fill-column-indicator-mode +1))
44
45(use-package display-line-numbers
46 :ensure nil
47 :demand t
48 :init
49 (defun arkta/disable-dln ()
50 (display-line-numbers-mode -1))
51 :hook ((dashboard-mode help-mode) . arkta/disable-dln)
52 :config
53 (global-display-line-numbers-mode +1))
54
55(use-package doom-modeline
56 :ensure t
57 :custom
58 (doom-modeline-bar-width 4)
59 (doom-modeline-battery t)
60 (doom-modeline-buffer-file-true-name t)
61 (doom-modeline-height 25)
62 (doom-modeline-hud t)
63 (doom-modeline-hud-min-height 6)
64 (doom-modeline-icon t)
65 (doom-modeline-percent-position nil)
66 (doom-modeline-project-detection 'project)
67 (doom-modeline-total-line-number t)
68 :config
69 (doom-modeline-mode +1))
70
71(use-package emojify
72 :ensure t
73 :config
74 (global-emojify-mode +1))
75
76(use-package faces
77 :ensure nil
78 :custom-face
79 (default ((t (:weight ,(if +mac+ 'medium 'regular)
80 :slant normal
81 :width normal
82 :font "Input Mono"
83 :height 130)))))
84
85(use-package git-gutter
86 :ensure t
87 :config
88 (global-git-gutter-mode +1))
89
90(use-package hl-line
91 :ensure nil
92 :config
93 (global-hl-line-mode +1))
94
95(use-package hl-todo
96 :ensure t
97 :config
98 (global-hl-todo-mode +1))
99
100(use-package modus-themes
101 :ensure t
102 :config
103 (load-theme 'modus-operandi t))
104
105(use-package nerd-icons
106 :ensure t
107 :init
108 (defun arkta/nerd-icons-maybe-install-fonts ()
109 (when (and (display-graphic-p)
110 (not (find-font (font-spec :family nerd-icons-font-family))))
111 ;; TODO: Maybe also reinstall them every month or so
112 (nerd-icons-install-fonts t)))
113 :hook ((elpaca-after-init server-after-make-frame) . arkta/nerd-icons-maybe-install-fonts))
114
115(use-package rainbow-delimiters
116 :ensure t
117 :hook (prog-mode . rainbow-delimiters-mode))
118
119(use-package rainbow-mode
120 :ensure t
121 :init
122 (defun arkta/enable-rainbow ()
123 (rainbow-mode +1))
124 :hook (prog-mode . arkta/enable-rainbow))
125
126(use-package scroll-bar
127 :ensure nil
128 :defer t
129 :config
130 (scroll-bar-mode -1))
131
132(use-package solaire-mode
133 :ensure t
134 :config
135 (solaire-global-mode +1))
136
137(use-package time
138 :ensure nil
139 :custom
140 (display-time-default-load-average nil)
141 :config
142 (display-time-mode +1))
143
144(use-package tool-bar
145 :ensure nil
146 :defer t
147 :config
148 (tool-bar-mode -1))
149
150(provide 'arkta-cosmetic)
diff --git a/emacs/.config/emacs/arkta/arkta-progmodes.el b/emacs/.config/emacs/arkta/arkta-progmodes.el
new file mode 100644
index 0000000..a85d0c0
--- /dev/null
+++ b/emacs/.config/emacs/arkta/arkta-progmodes.el
@@ -0,0 +1,285 @@
1;; -*- lexical-binding: t -*-
2;; Copyright © 2018-2025 Uko Koknevics
3
4(use-package adoc-mode
5 :ensure t
6 :mode "\\.adoc\\'")
7
8(use-package asm-mode
9 :ensure nil
10 :mode ("\\.s\\'" "\\.S\\'")
11 :init
12 (defun arkta/asm-setup ()
13 (set-tab-usage t)
14 (set-tab-width 8))
15 :hook (asm-mode . arkta/asm-setup))
16
17(use-package auto-compile
18 :after elisp-mode
19 :ensure t
20 :hook ((emacs-lisp-mode . auto-compile-on-load-mode)
21 (emacs-lisp-mode . auto-compile-on-save-mode)))
22
23(use-package c-ts-mode
24 :after treesit
25 :ensure nil
26 :mode ("\\.c\\'"
27 ("\\.cpp\\'" . c++-ts-mode))
28 :init
29 (defun arkta/c-setup ()
30 (set-tab-usage t)
31 (set-tab-width c-ts-mode-indent-offset))
32 :hook (c-ts-base-mode . arkta/c-setup)
33 :custom
34 (c-ts-mode-indent-offset 8)
35 (c-ts-mode-indent-style (lambda ()
36 `(((node-is ")") parent-bol 0)
37 ((node-is "}") parent-bol 0)
38 ((node-is "access_specifier") parent-bol 0)
39 ((parent-is "argument_list") parent-bol c-ts-mode-indent-offset)
40 ((parent-is "parameter_list") parent-bol c-ts-mode-indent-offset)
41 ((parent-is "field_declaration_list") parent-bol c-ts-mode-indent-offset)
42 ,@(alist-get 'linux (c-ts-mode--indent-styles 'c))))))
43
44(use-package cmake-ts-mode
45 :after treesit
46 :ensure nil
47 :mode ("CMakeLists\\.txt\\'"
48 "\\.cmake\\'"))
49
50(use-package company-mlton
51 :after (company sml)
52 :ensure '(company-mlton :host github
53 :repo "MatthewFluet/company-mlton")
54 :hook (sml-mode . company-mlton-init))
55
56(use-package csharp-mode
57 :after treesit
58 :ensure nil
59 :mode "\\.cs\\'")
60
61(use-package css-mode
62 :after treesit
63 :ensure nil
64 :mode "\\.css\\'")
65
66(use-package dart-mode
67 :ensure t
68 :mode "\\.dart\\'")
69
70(use-package dockerfile-ts-mode
71 :after treesit
72 :ensure nil
73 :mode "Dockerfile\\'")
74
75(use-package ebuild-mode
76 :ensure (ebuild-mode :host github
77 :repo "emacsmirror/ebuild-mode")
78 :mode ("\\.ebuild\\'"
79 "\\.eclass\\'"))
80
81(use-package elisp-mode
82 :ensure nil
83 :mode ("\\.el\\'" . emacs-lisp-mode))
84
85(use-package elixir-mode
86 :ensure t
87 :mode "\\.exs?\\'"
88 :init
89 (defun arkta/elixir-setup ()
90 (add-hook 'before-save-hook #'elixir-format nil t))
91 :hook (elixir-mode . arkta/elixir-setup))
92
93(use-package gdscript-mode
94 :ensure t
95 :mode "\\.gd\\'")
96
97(use-package go-ts-mode
98 :after treesit
99 :ensure nil
100 :mode "\\.go\\'"
101 :init
102 (defun arkta/go-setup ()
103 (add-hook 'before-save-hook #'gofmt-before-save nil t)
104 (set-tab-usage t)
105 (set-tab-width go-ts-mode-indent-offset))
106 :hook (go-ts-mode . arkta/go-setup))
107
108(use-package groovy-mode
109 :ensure t
110 :mode ("Jenkinsfile\\'"
111 "\\.jenkinsfile\\'"
112 "\\.gradle\\'"
113 "\\.groovy\\'"))
114
115(use-package haskell-mode
116 :ensure t
117 :mode "\\.hs\\'")
118
119(use-package htmlize
120 :ensure t)
121
122(use-package java-ts-mode
123 :after treesit
124 :ensure nil
125 :mode "\\.java\\'")
126
127(use-package js
128 :after treesit
129 :ensure nil
130 :mode ("\\.js\\'" . js-ts-mode))
131
132(use-package json-ts-mode
133 :after treesit
134 :ensure nil
135 :mode "\\.json\\'")
136
137(use-package kotlin-ts-mode
138 :after treesit
139 :ensure t
140 :mode "\\.kts?\\'")
141
142(use-package lisp-mode
143 :ensure nil
144 :mode "\\.lisp\\'")
145
146(use-package lua-mode
147 :ensure t
148 :custom
149 (lua-indent-level 4)
150 :mode ("\\.lua\\'" "\\.rockspec\\'"))
151
152(use-package make-mode
153 :ensure nil
154 :mode (("Makefile\\'" . makefile-gmake-mode)
155 ("GNUmakefile\\'" . makefile-mode)
156 ("\\.mk\\(\\.template\\)?\\'" . makefile-mode)))
157
158(use-package markdown-mode
159 :ensure t
160 :mode ("\\.md\\'" . gfm-mode))
161
162(use-package nasm-mode
163 :ensure t
164 :mode ("\\.asm\\'"
165 "\\.inc\\'")
166 :init
167 (defun arkta/nasm-setup ()
168 (set-tab-width 4))
169 :hook (nasm-mode . arkta/nasm-setup))
170
171(use-package nix-mode
172 :ensure t
173 :mode "\\.nix\\'")
174
175(use-package nxml-mode
176 :ensure nil
177 :mode ("\\.xml\\'"
178 "\\.plist\\'"
179 "\\.svg\\'"))
180
181(use-package org
182 :ensure nil
183 :after htmlize
184 :bind (("C-c l" . org-store-link)
185 ("C-c a" . org-agenda))
186 :mode ("\\.org\\'" . org-mode)
187 :custom
188 (org-agenda-files '("~/TODO.org"))
189 (org-log-done t))
190
191(use-package php-mode
192 :ensure t
193 :mode "\\.php\\'")
194
195(use-package pico8-mode
196 :ensure '(pico8-mode :host github
197 :repo "Kaali/pico8-mode")
198 :mode "\\.p8\\'")
199
200(use-package proof-general
201 :ensure t)
202
203(use-package prolog
204 :ensure nil
205 :mode ("\\.pl\\'" . prolog-mode))
206
207(use-package python
208 :after treesit
209 :ensure nil
210 :mode ("\\.py\\'" . python-ts-mode))
211
212(use-package racket-mode
213 :ensure t
214 :mode "\\.rkt\\'")
215
216(use-package ruby-ts-mode
217 :after treesit
218 :ensure nil
219 :mode "\\.rb\\'")
220
221(use-package rust-ts-mode
222 :after treesit
223 :ensure nil
224 :mode "\\.rs\\'")
225
226(use-package scala-mode
227 :ensure t
228 :mode "\\.scala\\'")
229
230(use-package scheme
231 :ensure nil
232 :commands scheme-mode
233 :mode ("\\.scm\\'" . scheme-mode)
234 :config
235 (put 'module 'scheme-indent-function 2))
236
237(use-package slime
238 :ensure t
239 :after lisp-mode
240 :commands slime
241 :custom
242 (inferior-lisp-program (executable-find "sbcl")))
243
244(use-package smalltalk-mode
245 :ensure t
246 :mode "\\.st\\'")
247
248(use-package sml-mode
249 :ensure t
250 :mode "\\.sml\\'")
251
252(use-package svelte-mode
253 :ensure t
254 :mode ("\\.svelte\\'" "\\.svx\\'"))
255
256(use-package swift-mode
257 ;; There's swift-ts-mode... but it doesn't have parser.c committed...
258 :ensure t
259 :mode "\\.swift\\'")
260
261(use-package toml-ts-mode
262 :after treesit
263 :ensure nil
264 :mode "\\.toml\\'")
265
266(use-package typescript-ts-mode
267 :after treesit
268 :ensure nil
269 :mode "\\.ts\\'")
270
271(use-package typst-ts-mode
272 :after treesit
273 :ensure t
274 :mode "\\.typ\\'")
275
276(use-package yaml-ts-mode
277 :after treesit
278 :ensure nil
279 :mode ("\\.clang-\\(tidy\\|format\\)\\'" "\\.ya?ml\\'"))
280
281(use-package zig-mode
282 :ensure t
283 :mode "\\.zig\\'")
284
285(provide 'arkta-progmodes)
diff --git a/emacs/.config/emacs/arkta/arkta-project.el b/emacs/.config/emacs/arkta/arkta-project.el
new file mode 100644
index 0000000..18354a9
--- /dev/null
+++ b/emacs/.config/emacs/arkta/arkta-project.el
@@ -0,0 +1,143 @@
1;; -*- lexical-binding: t -*-
2;; Copyright © 2018-2025 Uko Koknevics
3
4;; TODO: See about porting this to project.el:
5;; (define-key map (kbd "a") #'projectile-find-other-file)
6;; (define-key map (kbd "E") #'projectile-edit-dir-locals)
7;; (define-key map (kbd "g") #'projectile-find-file-dwim)
8;; (define-key map (kbd "i") #'projectile-invalidate-cache)
9;; (define-key map (kbd "I") #'projectile-ibuffer)
10;; (define-key map (kbd "j") #'projectile-find-tag)
11;; (define-key map (kbd "l") #'projectile-find-file-in-directory)
12;; (define-key map (kbd "m") #'projectile-commander)
13;; (define-key map (kbd "o") #'projectile-multi-occur)
14;; (define-key map (kbd "q") #'projectile-switch-open-project)
15;; (define-key map (kbd "R") #'projectile-regenerate-tags)
16
17;; (define-key map (kbd "s r") #'projectile-ripgrep)
18;; (define-key map (kbd "s s") #'projectile-ag)
19
20;; (define-key map (kbd "S") #'projectile-save-project-buffers)
21;; (define-key map (kbd "t") #'projectile-toggle-between-implementation-and-test)
22;; (define-key map (kbd "T") #'projectile-find-test-file)
23;; ;; project lifecycle external commands
24;; ;; TODO: Bundle those under some prefix key
25;; (define-key map (kbd "C") #'projectile-configure-project)
26;; (define-key map (kbd "K") #'projectile-package-project)
27;; (define-key map (kbd "L") #'projectile-install-project)
28;; (define-key map (kbd "P") #'projectile-test-project)
29;; (define-key map (kbd "u") #'projectile-run-project)
30
31;; ;; integration with utilities
32;; (define-key map (kbd "x i") #'projectile-run-ielm)
33;; (define-key map (kbd "x t") #'projectile-run-term)
34;; (define-key map (kbd "x g") #'projectile-run-gdb)
35;; (define-key map (kbd "x v") #'projectile-run-vterm)
36;; (define-key map (kbd "x 4 v") #'projectile-run-vterm-other-window)
37
38;; ;; misc
39;; (define-key map (kbd "z") #'projectile-cache-current-file)
40;; (define-key map (kbd "<left>") #'projectile-previous-project-buffer)
41;; (define-key map (kbd "<right>") #'projectile-next-project-buffer)
42;; (define-key map (kbd "ESC") #'projectile-project-buffers-other-buffer)
43
44(cl-defun arkta/project-completing-read (prompt choices &key initial-input action (project (project-current t)))
45 "Present a project tailored PROMPT with CHOICES."
46 (require 'ivy)
47 (let ((prompt (arkta/project-prepend-project-name prompt project)))
48 (ivy-read prompt choices
49 :initial-input initial-input
50 :action action
51 :caller 'arkta/project-completing-read)))
52
53(defun arkta/project-expand-root (name &optional project)
54 "Expand NAME to project root."
55 (let (project (or project (project-current t)))
56 (expand-file-name name (project-root project))))
57
58(defun arkta/project-find-references (&optional symbol)
59 "Find all references to SYMBOL in the current project.
60
61A thin wrapper around `xref-references-in-directory'."
62 (interactive)
63 (require 'xref)
64 (let ((project-root (project-root (project-current t)))
65 (symbol (or symbol
66 (read-from-minibuffer "Lookup in project: " (arkta/symbol-at-point)))))
67 (xref-show-xrefs (xref-references-in-directory symbol project-root) nil)))
68
69(defun arkta/project-magit-status ()
70 (interactive)
71 (magit-status (project-root (project-current t))))
72
73(defun arkta/project-prepend-project-name (string &optional project)
74 "Prepend the current project's name to STRING."
75 (let ((project (or project (project-current t))))
76 (format "[%s] %s" (project-name project) string)))
77
78(defun arkta/project-recentf ()
79 "Show a list of recently visited files in a project."
80 (interactive)
81 (let ((project (project-current t)))
82 (find-file (arkta/project-expand-root
83 (arkta/project-completing-read
84 "Recently visited files: "
85 (arkta/project-recentf-files project)
86 :project project)
87 project))))
88
89(defun arkta/project-recentf-files (&optional project)
90 "Return a list of recently visited files in a project."
91 (require 'recentf)
92 (let* ((project (or project (project-current t)))
93 (project-root (expand-file-name (project-root project))))
94 (mapcar
95 (lambda (f) (file-relative-name f project-root))
96 (cl-remove-if-not
97 (lambda (f) (string-prefix-p project-root (expand-file-name f)))
98 recentf-list))))
99
100(defun arkta/symbol-at-point ()
101 "Get the symbol at point and strip its properties."
102 (substring-no-properties (or (thing-at-point 'symbol) "")))
103
104(use-package project
105 :ensure nil
106 :config
107 (defvar-keymap arkta/project-prefix-map
108 :parent project-prefix-map
109 "C-b" 'project-list-buffers
110
111 "!" 'project-shell-command
112 "&" 'project-async-shell-command
113
114 "4" 'project-other-window-command
115 "5" 'project-other-frame-command
116
117 "D" 'project-dired
118 "F" 'project-or-external-find-file
119 "V" 'project-vc-dir
120
121 "b" 'project-switch-to-buffer
122 "c" 'project-compile
123 "d" 'project-find-dir
124 "e" 'arkta/project-recentf
125 "f" 'project-find-file
126 "k" 'project-kill-buffers
127 "p" 'project-switch-project
128 "r" 'project-query-replace-regexp
129 "v" 'arkta/project-magit-status
130
131 "M-x" 'project-execute-extended-command
132
133 "s f" 'project-find-file
134 "s g" 'project-find-regexp
135 "s r" 'project-find-regexp
136 "s x" 'arkta/project-find-references
137
138 "x e" 'project-eshell
139 "x s" 'project-shell)
140 (fset 'arkta/project-prefix-map arkta/project-prefix-map)
141 :bind (("C-c p" . arkta/project-prefix-map)))
142
143(provide 'arkta-project)
diff --git a/emacs/.config/emacs/bin/init b/emacs/.config/emacs/bin/init
new file mode 100755
index 0000000..a4feab4
--- /dev/null
+++ b/emacs/.config/emacs/bin/init
@@ -0,0 +1,13 @@
1#!/bin/sh
2:;set -e # -*- mode: emacs-lisp; lexical-binding: t -*-
3:;exec emacs --script "$0" "$@"
4
5(setq gc-cons-threshold (* 128 1024 1024))
6
7(setq load-prefer-newer t)
8
9(setq user-emacs-directory
10 (expand-file-name ".." (file-name-directory (file-truename load-file-name))))
11
12(load (expand-file-name "init.el" user-emacs-directory))
13
diff --git a/emacs/.config/emacs/early-init.el b/emacs/.config/emacs/early-init.el
new file mode 100644
index 0000000..6757f7b
--- /dev/null
+++ b/emacs/.config/emacs/early-init.el
@@ -0,0 +1,20 @@
1;; -*- lexical-binding: t -*-
2;; Copyright © 2018-2025 Uko Koknevics
3
4;; Shutdown GC during initialisation
5;; It will be replaced by GCMH :)
6(setq gc-cons-threshold most-positive-fixnum)
7
8;; Disable package.el in favour of elpaca
9(setq package-enable-at-startup nil)
10
11;; UTF-8 duh
12(set-language-environment "UTF-8")
13(setq selection-coding-system 'utf-8
14 default-input-method nil)
15
16(setq user-emacs-directory (file-name-directory load-file-name))
17
18(add-to-list 'load-path (expand-file-name "arkta" user-emacs-directory))
19
20(defconst loaded-early-init t)
diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el
new file mode 100644
index 0000000..69dc9d1
--- /dev/null
+++ b/emacs/.config/emacs/init.el
@@ -0,0 +1,436 @@
1;; -*- lexical-binding: t -*-
2;; Copyright © 2018-2025 Uko Koknevics
3
4;; Make sure early-init has been loaded.
5(unless (boundp 'loaded-early-init)
6 (load (expand-file-name "early-init" (file-name-directory load-file-name)) nil t))
7
8(when (version< emacs-version "29.1")
9 (error "Using %s. Minimum supported version is 29.1."
10 (emacs-version)))
11
12(setq-default user-full-name "Uko Kokņevičs"
13 user-email-address "perkontevs@gmail.com")
14
15(defconst +emacs29+ (version< emacs-version "30.0"))
16
17(defconst +linux+ (eq system-type 'gnu/linux))
18(defconst +mac+ (eq system-type 'darwin))
19(defconst +bsd+ (or +mac+ (eq system-type 'berkeley-unix)))
20(defconst +windows+ (memq system-type '(cygwin windows-nt ms-dos)))
21
22(defconst base-dir user-emacs-directory)
23(defconst local-dir (expand-file-name "local" base-dir))
24(defconst local-config-dir (expand-file-name "config" local-dir))
25(defconst tmp-dir (expand-file-name "tmp" local-dir))
26(defconst shared-dir (expand-file-name "shared" base-dir))
27
28;; TODO: Check how to do add smth like `:advice (fn :around advice)` sometime
29(require 'use-package)
30(use-package use-package)
31
32;; Early configurations
33(setq shared-game-score-directory (expand-file-name "shared-game-score" shared-dir))
34
35(use-package cus-edit
36 :defer t
37 :custom
38 (custom-file (expand-file-name "custom.el" shared-dir)))
39
40(defun $adv-write-to-sane-paths (fn &rest args)
41 "Write 3rd party files to `local-config-dir` to keep `user-emacs-directory` clean."
42 (let ((user-emacs-directory local-config-dir)
43 (user-init-file custom-file))
44 (apply fn args)))
45
46(use-package files
47 :defer t
48 :custom
49 (auto-mode-case-fold nil)
50 (auto-save-file-name-transforms `((".*" ,tmp-dir t)))
51 (backup-directory-alist `((".*" . ,tmp-dir)))
52 (major-mode-remap-alist '((c-mode . c-ts-mode)
53 (c-or-c++-mode . c-or-c++-ts-mode)
54 (c++-mode . c++-ts-mode)
55 (cmake-mode . cmake-ts-mode)
56 (csharp-mode . csharp-ts-mode)
57 (css-mode . css-ts-mode)
58 (dockerfile-mode . dockerfile-ts-mode)
59 (go-mode . go-ts-mode)
60 (go-mod-mode . go-mod-ts-mode)
61 (html-mode . mhtml-mode)
62 (java-mode . java-ts-mode)
63 (js-mode . js-ts-mode)
64 (json-mode . json-ts-mode)
65 (python-mode . python-ts-mode)
66 (ruby-mode . ruby-ts-mode)
67 (rust-mode . rust-ts-mode)
68 (yaml-mode . yaml-ts-mode)
69 (toml-mode . toml-ts-mode)
70 (tsx-mode . tsx-ts-mode)
71 (typescript-mode . typescript-ts-mode)))
72 :config
73 (advice-add #'locate-user-emacs-file :around #'$adv-write-to-sane-paths))
74
75(use-package novice
76 :defer t
77 :config
78 (advice-add #'enable-command :around #'$adv-write-to-sane-paths)
79 (advice-add #'disable-command :around #'$adv-write-to-sane-paths))
80
81;; Improve Emacs security somewhat
82(setq gnutls-min-prime-bits 3072
83 gnutls-verify-error (and (fboundp 'gnutls-available-p)
84 (gnutls-available-p)
85 (not (getenv-internal "INSECURE")))
86 tls-checktrust gnutls-verify-error
87 tls-program '("openssl s_client -connect %h:%p -CAfile %t -nbio -no_ssl3 -no_tls1 -no_tls1_1 -ign_eof"
88 "gnutls-cli -p %p --dh-bits=3072 --ocsp --x509cafile=%t --strict-tofu --priority='SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3' %h"
89 "gnutls-cli -p %p %h"))
90
91(when (boundp 'libgnutls-version)
92 (setq gnutls-algorithm-priority
93 (concat "SECURE128:+SECURE192:-VERS-ALL"
94 (if (and (not +windows+)
95 (>= libgnutls-version 30605))
96 ":+VERS-TLS1.3:+VERS-TLS1.2"
97 ":+VERS-TLS1.2"))))
98
99(when +mac+
100 (setq mac-option-modifier 'meta
101 mac-command-modifier 'super))
102
103(when (file-exists-p custom-file)
104 (add-hook 'elpaca-after-init-hook (lambda () (load custom-file 'noerror))))
105
106(use-package auth-source
107 :defer t
108 :custom
109 ;; Make sure authinfo is GPG'd
110 (auth-sources (list (expand-file-name "authinfo.gpg" local-config-dir)
111 "~/.authinfo.gpg")))
112
113(use-package ffap
114 :defer t
115 :custom
116 ;; Don't ping random stuff
117 (ffap-machine-p-known 'reject))
118
119(use-package startup
120 :defer t
121 :custom
122 (inhibit-default-init t)
123 (inhibit-startup-echo-area-message user-login-name)
124 (inhibit-startup-screen t)
125 (initial-major-mode 'fundamental-mode)
126 (initial-scratch-message nil))
127
128;; Don't draw stuff in other windows.
129(setq-default cursor-in-non-selected-windows nil)
130(setq highlight-nonselected-windows nil)
131
132;; Faster scrolling
133(setq fast-but-imprecise-scrolling t)
134
135;; Inhibit frame resizing
136(setq frame-inhibit-implied-resize t)
137
138;; Don’t compact font caches during GC.
139(setq inhibit-compacting-font-caches t)
140
141(setq read-process-output-max (* 64 1024))
142
143;; Don't fontify if stuck on reading input
144(setq redisplay-skip-fontification-on-input t)
145
146(when +windows+
147 (setq w32-get-true-file-attributes nil
148 w32-pipe-read-delay 0
149 w32-pipe-buffer-size read-process-output-max))
150
151;; Install elpaca
152(progn
153 (defvar elpaca-installer-version 0.11)
154 (defvar elpaca-directory (expand-file-name "elpaca/" local-dir))
155 (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
156 (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
157 (defvar elpaca-lock-file (expand-file-name "elpaca-lock.el" shared-dir))
158 (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git"
159 :ref nil :depth 1 :inherit ignore
160 :files (:defaults "elpaca-test.el" (:exclude "extensions"))
161 :build (:not elpaca--activate-package)))
162 (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory))
163 (build (expand-file-name "elpaca/" elpaca-builds-directory))
164 (order (cdr elpaca-order))
165 (default-directory repo))
166 (add-to-list 'load-path (if (file-exists-p build) build repo))
167 (unless (file-exists-p repo)
168 (make-directory repo t)
169 (when (<= emacs-major-version 28) (require 'subr-x))
170 (condition-case-unless-debug err
171 (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*"))
172 ((zerop (apply #'call-process `("git" nil ,buffer t "clone"
173 ,@(when-let* ((depth (plist-get order :depth)))
174 (list (format "--depth=%d" depth) "--no-single-branch"))
175 ,(plist-get order :repo) ,repo))))
176 ((zerop (call-process "git" nil buffer t "checkout"
177 (or (plist-get order :ref) "--"))))
178 (emacs (concat invocation-directory invocation-name))
179 ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch"
180 "--eval" "(byte-recompile-directory \".\" 0 'force)")))
181 ((require 'elpaca))
182 ((elpaca-generate-autoloads "elpaca" repo)))
183 (progn (message "%s" (buffer-string)) (kill-buffer buffer))
184 (error "%s" (with-current-buffer buffer (buffer-string))))
185 ((error) (warn "%s" err) (delete-directory repo 'recursive))))
186 (unless (require 'elpaca-autoloads nil t)
187 (require 'elpaca)
188 (elpaca-generate-autoloads "elpaca" repo)
189 (let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
190 (add-hook 'after-init-hook #'elpaca-process-queues)
191 (elpaca `(,@elpaca-order))
192 (when +windows+
193 (elpaca-no-symlink-mode)))
194
195(progn
196 (elpaca elpaca-use-package
197 (elpaca-use-package-mode))
198 (elpaca-wait))
199
200;; Builtins that I update with elpaca.
201;; Consider adding some to elpaca-ignored-dependencies if problems arise.
202(progn
203 (defun arkta/elpaca-build-with-unload (pkg)
204 (append (butlast (if (file-exists-p (file-name-concat elpaca-builds-directory
205 (symbol-name pkg)))
206 elpaca--pre-built-steps
207 elpaca-build-steps))
208 (list `(lambda (e)
209 (when (featurep ',pkg)
210 (unload-feature ',pkg t))
211 (elpaca--continue-build e))
212 'elpaca--activate-package)))
213 (use-package seq
214 :ensure `(seq :build ,(arkta/elpaca-build-with-unload 'seq)))
215 (use-package transient
216 :ensure `(transient :build ,(arkta/elpaca-build-with-unload 'transient))))
217
218(defun arkta/update-packages ()
219 (interactive)
220 (elpaca-update-all)
221 (elpaca-write-lock-file elpaca-lock-file))
222
223(defun arkta/fix-versions ()
224 (interactive)
225 (elpaca-write-lock-file elpaca-lock-file))
226
227;; compat
228(use-package compat-30
229 :if +emacs29+
230 :ensure 'compat)
231
232;; Helper functions
233(defmacro defsetter (name &rest emacs-names)
234 (let ((name (intern (concat "set-" (symbol-name name)))))
235 `(defun ,name (value &optional default)
236 (if default
237 (progn
238 ,@(mapcar (lambda (name) `(setq-default ,name value)) emacs-names))
239 ,@(mapcar (lambda (name) `(setq ,name value)) emacs-names)))))
240
241(defsetter fill-width fill-column)
242(defsetter tab-usage indent-tabs-mode)
243(defsetter tab-width c-basic-offset nasm-offset standard-indent tab-width)
244
245;; Miscellany
246
247(set-fill-width 120 t)
248(set-tab-usage nil t)
249(set-tab-width 4 t)
250
251;; HIC SVNT DRACONES
252
253(require 'arkta-cosmetic)
254(require 'arkta-progmodes)
255(require 'arkta-project)
256
257(use-package ace-window
258 :ensure t
259 :bind (([remap other-window] . ace-window)
260 ("C-x o" . ace-window)))
261
262(use-package amx
263 :ensure t
264 :config
265 (amx-mode +1))
266
267(use-package company
268 :ensure t
269 :custom
270 (company-format-margin-function #'company-text-icons-margin)
271 (company-text-face-extra-attributes '(:weight bold))
272 (company-text-icons-add-background t)
273 (company-tooltip-flip-when-above nil)
274 (company-tooltip-limit 6)
275 (company-tooltip-minimum 6)
276 (company-tooltip-offset-display 'lines)
277 :config
278 (global-company-mode +1))
279
280(use-package compile
281 :ensure nil
282 :bind (("C-c k" . compile))
283 :custom
284 (compilation-scroll-output 'first-error))
285
286(use-package copyright
287 :ensure nil
288 :init
289 (defun arkta/maybe-fix-copyright ()
290 (save-mark-and-excursion
291 (copyright-update)
292 (copyright-fix-years)))
293 :hook (before-save . arkta/maybe-fix-copyright)
294 :custom
295 (copyright-names-regexp "Eris\\|Ukko\\|Uko\\|Free Software")
296 (copyright-year-ranges t))
297
298(use-package counsel
299 :ensure t
300 :after amx
301 :config
302 (counsel-mode +1))
303
304(use-package dashboard
305 :ensure t
306 :demand t
307 :hook (server-after-make-frame . dashboard-open)
308 :custom
309 (dashboard-center-content nil)
310 (dashboard-startup-banner (expand-file-name "logo.png" user-emacs-directory))
311 (dashboard-items '((projects . 5) (recents . 5) (bookmarks . 5)))
312 (dashboard-projects-backend 'project-el)
313 (dashboard-remove-missing-entry nil)
314 (dashboard-set-heading-icons t)
315 (dashboard-set-file-icons t)
316 (dashboard-set-init-info t)
317 :config
318 (dashboard-setup-startup-hook))
319
320(use-package editorconfig
321 :ensure t
322 :config
323 (editorconfig-mode +1))
324
325(use-package eglot
326 :ensure nil
327 :hook ((gdscript-mode go-ts-mode) . eglot-ensure)
328 :custom
329 (eglot-ignored-server-capabilities '(:documentFormattingProvider
330 :documentRangeFormattingProvider
331 :documentOnTypeFormattingProvider))
332 (eglot-autoshutdown t))
333
334(use-package elpher
335 :ensure t
336 :commands (elpher)
337 :custom (elpher-default-url-type "gemini"))
338
339(use-package envrc
340 :when nil
341 :ensure t
342 ;; This actually has to be hooked to after-init to be one of the first minor modes enabled
343 :hook (elpaca-after-init . envrc-global-mode))
344
345(use-package forge
346 :ensure t
347 :after magit)
348
349(use-package gcmh
350 :ensure t
351 :custom
352 (gcmh-idle-delay 'auto)
353 (gcmh-auto-idle-delay-factor 10)
354 (gcmh-high-cons-threshold (* 16 1024 1024))
355 :config
356 (gcmh-mode +1))
357
358(use-package ibuffer
359 :ensure nil
360 :bind (("C-x C-b" . ibuffer)
361 ([remap list-buffers] . ibuffer)))
362
363(use-package ivy
364 :ensure t
365 :after (counsel swiper)
366 :demand t
367 :bind (("C-c r" . ivy-resume)
368 ("C-c v" . ivy-push-view)
369 ("C-c V" . ivy-pop-view))
370 :custom
371 (ivy-use-virtual-buffers t)
372 (ivy-count-format "(%d/%d) ")
373 :config
374 (ivy-mode +1))
375
376(use-package magit
377 ;; TODO: Do some proper setup
378 :ensure t)
379
380(use-package simple
381 :ensure nil
382 :hook ((text-mode . turn-on-auto-fill)
383 (before-save . delete-trailing-whitespace))
384 :custom
385 (backward-delete-char-untabify-method nil))
386
387(use-package swiper
388 :ensure t
389 :bind (([remap isearch-forward] . swiper-isearch)
390 ([remap isearch-backward] . swiper-isearch-backward)
391 ("C-s" . swiper-isearch)
392 ("C-r" . swiper-isearch-backward)))
393
394(use-package treemacs
395 :ensure t
396 :commands (treemacs treemacs-select-window)
397 :custom
398 (treemacs-select-when-already-in-treemacs 'next-or-back)
399 :bind (("C-c SPC" . treemacs-select-window)
400 ("C-c C-SPC" . treemacs-select-window)))
401
402(use-package treesit
403 :ensure nil
404 :config
405 (setq treesit-extra-load-path
406 (list (expand-file-name "tree-sitter" local-config-dir)))
407 (setq treesit-language-source-alist
408 '((c "https://github.com/tree-sitter/tree-sitter-c.git")
409 (cmake "https://github.com/uyha/tree-sitter-cmake.git")
410 (cpp "https://github.com/tree-sitter/tree-sitter-cpp.git")
411 (c-sharp "https://github.com/tree-sitter/tree-sitter-c-sharp.git")
412 (css "https://github.com/tree-sitter/tree-sitter-css.git")
413 (dockerfile "https://github.com/camdencheek/tree-sitter-dockerfile.git")
414 (go "https://github.com/tree-sitter/tree-sitter-go.git")
415 (gomod "https://github.com/camdencheek/tree-sitter-go-mod.git")
416 (java "https://github.com/tree-sitter/tree-sitter-java.git")
417 (javascript "https://github.com/tree-sitter/tree-sitter-javascript.git")
418 (json "https://github.com/tree-sitter/tree-sitter-json.git")
419 (kotlin "https://github.com/fwcd/tree-sitter-kotlin")
420 (python "https://github.com/tree-sitter/tree-sitter-python.git")
421 (ruby "https://github.com/tree-sitter/tree-sitter-ruby.git")
422 (rust "https://github.com/tree-sitter/tree-sitter-rust.git")
423 (toml "https://github.com/ikatyang/tree-sitter-toml.git")
424 (tsx "https://github.com/tree-sitter/tree-sitter-typescript.git" nil "tsx/src")
425 (typescript "https://github.com/tree-sitter/tree-sitter-typescript.git" nil "typescript/src")
426 (typst "https://github.com/uben0/tree-sitter-typst")
427 (yaml "https://github.com/ikatyang/tree-sitter-yaml.git")))
428 (mapc (lambda (spec)
429 (let ((name (car spec)))
430 (unless (treesit-language-available-p name)
431 (treesit-install-language-grammar name))))
432 treesit-language-source-alist))
433
434(use-package warnings
435 :ensure nil
436 :custom (warning-suppress-types '(comp)))
diff --git a/emacs/.config/emacs/logo.png b/emacs/.config/emacs/logo.png
new file mode 100644
index 0000000..20cdb36
--- /dev/null
+++ b/emacs/.config/emacs/logo.png
Binary files differ
diff --git a/emacs/.config/emacs/shared/custom.el b/emacs/.config/emacs/shared/custom.el
new file mode 100644
index 0000000..5596e47
--- /dev/null
+++ b/emacs/.config/emacs/shared/custom.el
@@ -0,0 +1,17 @@
1(custom-set-variables
2 ;; custom-set-variables was added by Custom.
3 ;; If you edit it by hand, you could mess it up, so be careful.
4 ;; Your init file should contain only one such instance.
5 ;; If there is more than one, they won't work right.
6 '(custom-safe-themes
7 '("fbf73690320aa26f8daffdd1210ef234ed1b0c59f3d001f342b9c0bbf49f531c" default))
8 '(safe-local-variable-values
9 '((buffer-file-coding-system . utf-8-unix)
10 (buffer-file-coding-system . cp437-dos))))
11(custom-set-faces
12 ;; custom-set-faces was added by Custom.
13 ;; If you edit it by hand, you could mess it up, so be careful.
14 ;; Your init file should contain only one such instance.
15 ;; If there is more than one, they won't work right.
16 )
17(put 'upcase-region 'disabled nil)
diff --git a/emacs/.config/emacs/shared/elpaca-lock.el b/emacs/.config/emacs/shared/elpaca-lock.el
new file mode 100644
index 0000000..45756eb
--- /dev/null
+++ b/emacs/.config/emacs/shared/elpaca-lock.el
@@ -0,0 +1,412 @@
1((ace-window :source "elpaca-menu-lock-file" :recipe
2 (:package "ace-window" :repo "abo-abo/ace-window" :fetcher github :files
3 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
4 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
5 :source "MELPA" :protocol https :inherit t :depth treeless :ref "77115afc1b0b9f633084cf7479c767988106c196"))
6 (adoc-mode :source "elpaca-menu-lock-file" :recipe
7 (:package "adoc-mode" :fetcher github :repo "bbatsov/adoc-mode" :files
8 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
9 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
10 :source "MELPA" :protocol https :inherit t :depth treeless :ref "20772277b8a5b8c08d49bd03043d5d4dd7a815e9"))
11 (amx :source "elpaca-menu-lock-file" :recipe
12 (:package "amx" :repo "DarwinAwardWinner/amx" :fetcher github :files
13 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
14 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
15 :source "MELPA" :protocol https :inherit t :depth treeless :ref "5b3aa1aae84f4a225cb8d26ab79a32f97693f023"))
16 (auto-compile :source "elpaca-menu-lock-file" :recipe
17 (:package "auto-compile" :repo "emacscollective/auto-compile" :fetcher github :files
18 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
19 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
20 :source "MELPA" :protocol https :inherit t :depth treeless :ref "b9e5df6f6d3f57263d6b22f2401f776380a37778"))
21 (avy :source "elpaca-menu-lock-file" :recipe
22 (:package "avy" :repo "abo-abo/avy" :fetcher github :files
23 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
24 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
25 :source "MELPA" :protocol https :inherit t :depth treeless :ref "933d1f36cca0f71e4acb5fac707e9ae26c536264"))
26 (centaur-tabs :source "elpaca-menu-lock-file" :recipe
27 (:package "centaur-tabs" :repo "ema2159/centaur-tabs" :fetcher github :files
28 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
29 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
30 :source "MELPA" :protocol https :inherit t :depth treeless :ref "a790dc8fb6215e28685643e4d79252287adfde24"))
31 (cfrs :source "elpaca-menu-lock-file" :recipe
32 (:package "cfrs" :repo "Alexander-Miller/cfrs" :fetcher github :files
33 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
34 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
35 :source "MELPA" :protocol https :inherit t :depth treeless :ref "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121"))
36 (closql :source "elpaca-menu-lock-file" :recipe
37 (:package "closql" :fetcher github :repo "magit/closql" :files
38 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
39 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
40 :source "MELPA" :protocol https :inherit t :depth treeless :ref "05a2b048fd4e5c90aa971479cb9e71cf9aeba2bf"))
41 (company :source "elpaca-menu-lock-file" :recipe
42 (:package "company" :fetcher github :repo "company-mode/company-mode" :files
43 (:defaults "icons"
44 ("images/small" "doc/images/small/*.png"))
45 :source "MELPA" :protocol https :inherit t :depth treeless :ref "1924eabfa7438974da0500e85fff5fb32c27282c"))
46 (company-mlton :source "elpaca-menu-lock-file" :recipe
47 (:source nil :protocol https :inherit t :depth treeless :host github :repo "MatthewFluet/company-mlton" :package "company-mlton" :ref "9b09d209b4767a2af24784fb5321390ed1d445bf"))
48 (compat :source "elpaca-menu-lock-file" :recipe
49 (:package "compat" :repo
50 ("https://github.com/emacs-compat/compat" . "compat")
51 :files
52 ("*"
53 (:exclude ".git"))
54 :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "cccd41f549fa88031a32deb26253b462021d7e12"))
55 (counsel :source "elpaca-menu-lock-file" :recipe
56 (:package "counsel" :repo "abo-abo/swiper" :fetcher github :files
57 ("counsel.el")
58 :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e"))
59 (dart-mode :source "elpaca-menu-lock-file" :recipe
60 (:package "dart-mode" :fetcher github :repo "emacsorphanage/dart-mode" :files
61 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
62 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
63 :source "MELPA" :protocol https :inherit t :depth treeless :ref "f82ff052309125b93d19bdd3f619266f908f43ce"))
64 (dash :source "elpaca-menu-lock-file" :recipe
65 (:package "dash" :fetcher github :repo "magnars/dash.el" :files
66 ("dash.el" "dash.texi")
67 :source "MELPA" :protocol https :inherit t :depth treeless :ref "fcb5d831fc08a43f984242c7509870f30983c27c"))
68 (dashboard :source "elpaca-menu-lock-file" :recipe
69 (:package "dashboard" :fetcher github :repo "emacs-dashboard/emacs-dashboard" :files
70 (:defaults "banners")
71 :source "MELPA" :protocol https :inherit t :depth treeless :ref "f07661b39bec3683cf9edb7b1c58f6e658b6f764"))
72 (doom-modeline :source "elpaca-menu-lock-file" :recipe
73 (:package "doom-modeline" :repo "seagle0128/doom-modeline" :fetcher github :files
74 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
75 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
76 :source "MELPA" :protocol https :inherit t :depth treeless :ref "a85cb28da8bcb29be232e21879f0f5a1e8551b8c"))
77 (ebuild-mode :source "elpaca-menu-lock-file" :recipe
78 (:source nil :protocol https :inherit t :depth treeless :host github :repo "emacsmirror/ebuild-mode" :package "ebuild-mode" :ref "1dd08c89bc71ca802daaa05cfdc7f028b7254159"))
79 (editorconfig :source "elpaca-menu-lock-file" :recipe
80 (:package "editorconfig" :fetcher github :repo "editorconfig/editorconfig-emacs" :old-names
81 (editorconfig-core editorconfig-fnmatch)
82 :files
83 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
84 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
85 :source "MELPA" :protocol https :inherit t :depth treeless :ref "d2beb3ec2e7f84505818594124a7202d5d6d0185"))
86 (elixir-mode :source "elpaca-menu-lock-file" :recipe
87 (:package "elixir-mode" :fetcher github :repo "elixir-editors/emacs-elixir" :files
88 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
89 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
90 :source "MELPA" :protocol https :inherit t :depth treeless :ref "00d6580a040a750e019218f9392cf9a4c2dac23a"))
91 (elpaca :source "elpaca-menu-lock-file" :recipe
92 (:source nil :protocol https :inherit ignore :depth treeless :repo "https://github.com/progfolio/elpaca.git" :ref "029d4b477b13fe675b0cf41099e44b177e5760ff" :files
93 (:defaults "elpaca-test.el"
94 (:exclude "extensions"))
95 :build
96 (:not elpaca--activate-package)
97 :package "elpaca"))
98 (elpaca-use-package :source "elpaca-menu-lock-file" :recipe
99 (:package "elpaca-use-package" :wait t :repo "https://github.com/progfolio/elpaca.git" :files
100 ("extensions/elpaca-use-package.el")
101 :main "extensions/elpaca-use-package.el" :build
102 (:not elpaca--compile-info)
103 :source "Elpaca extensions" :protocol https :inherit t :depth treeless :ref "029d4b477b13fe675b0cf41099e44b177e5760ff"))
104 (elpher :source "elpaca-menu-lock-file" :recipe
105 (:package "elpher" :url "https://thelambdalab.xyz/git/elpher.git" :fetcher git :files
106 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
107 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
108 :source "MELPA" :protocol https :inherit t :depth treeless :ref "972a069f240f071a79da23c98d3519df45bb5851"))
109 (emacsql :source "elpaca-menu-lock-file" :recipe
110 (:package "emacsql" :fetcher github :repo "magit/emacsql" :files
111 (:defaults "README.md" "sqlite")
112 :source "MELPA" :protocol https :inherit t :depth treeless :ref "ced062890061b6e4fbe4d00c0617f7ff84fff25c"))
113 (emojify :source "elpaca-menu-lock-file" :recipe
114 (:package "emojify" :fetcher github :repo "iqbalansari/emacs-emojify" :files
115 (:defaults "data" "images")
116 :source "MELPA" :protocol https :inherit t :depth treeless :ref "1b726412f19896abf5e4857d4c32220e33400b55"))
117 (envrc :source "elpaca-menu-lock-file" :recipe
118 (:package "envrc" :fetcher github :repo "purcell/envrc" :files
119 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
120 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
121 :source "MELPA" :protocol https :inherit t :depth treeless :ref "cb5f6d2a4217c1e2cc963072aaa5ecfe257ab378"))
122 (f :source "elpaca-menu-lock-file" :recipe
123 (:package "f" :fetcher github :repo "rejeep/f.el" :files
124 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
125 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
126 :source "MELPA" :protocol https :inherit t :depth treeless :ref "931b6d0667fe03e7bf1c6c282d6d8d7006143c52"))
127 (forge :source "elpaca-menu-lock-file" :recipe
128 (:package "forge" :fetcher github :repo "magit/forge" :files
129 ("lisp/*.el" "docs/*.texi" ".dir-locals.el")
130 :source "MELPA" :protocol https :inherit t :depth treeless :ref "c498fed98a6df8adca33e87433b4084c0340fb4a"))
131 (gcmh :source "elpaca-menu-lock-file" :recipe
132 (:package "gcmh" :repo "koral/gcmh" :fetcher gitlab :files
133 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
134 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
135 :source "MELPA" :protocol https :inherit t :depth treeless :ref "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9"))
136 (gdscript-mode :source "elpaca-menu-lock-file" :recipe
137 (:package "gdscript-mode" :fetcher github :repo "godotengine/emacs-gdscript-mode" :files
138 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
139 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
140 :source "MELPA" :protocol https :inherit t :depth treeless :ref "5136be407a3479ad1fb944acdd36b065833f48f6"))
141 (ghub :source "elpaca-menu-lock-file" :recipe
142 (:package "ghub" :fetcher github :repo "magit/ghub" :files
143 ("lisp/*.el" "docs/*.texi" ".dir-locals.el")
144 :source "MELPA" :protocol https :inherit t :depth treeless :ref "00c6a23417050798ccff2f4f89660ec5e8a2ceb9"))
145 (git-gutter :source "elpaca-menu-lock-file" :recipe
146 (:package "git-gutter" :repo "emacsorphanage/git-gutter" :fetcher github :files
147 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
148 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
149 :source "MELPA" :protocol https :inherit t :depth treeless :ref "21b171923baf8d4ae6f662548ebe11b527cf2e7e"))
150 (groovy-mode :source "elpaca-menu-lock-file" :recipe
151 (:package "groovy-mode" :fetcher github :repo "Groovy-Emacs-Modes/groovy-emacs-modes" :files
152 ("*groovy*.el")
153 :source "MELPA" :protocol https :inherit t :depth treeless :ref "7b8520b2e2d3ab1d62b35c426e17ac25ed0120bb"))
154 (haskell-mode :source "elpaca-menu-lock-file" :recipe
155 (:package "haskell-mode" :repo "haskell/haskell-mode" :fetcher github :files
156 (:defaults "NEWS" "logo.svg")
157 :source "MELPA" :protocol https :inherit t :depth treeless :ref "2e08ba771ffdc46d082b2285c534afdb12efb941"))
158 (hl-todo :source "elpaca-menu-lock-file" :recipe
159 (:package "hl-todo" :repo "tarsius/hl-todo" :fetcher github :files
160 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
161 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
162 :source "MELPA" :protocol https :inherit t :depth treeless :ref "7ed8bbcadb5229d648b194e0e4c4d261825aa91b"))
163 (ht :source "elpaca-menu-lock-file" :recipe
164 (:package "ht" :fetcher github :repo "Wilfred/ht.el" :files
165 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
166 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
167 :source "MELPA" :protocol https :inherit t :depth treeless :ref "1c49aad1c820c86f7ee35bf9fff8429502f60fef"))
168 (htmlize :source "elpaca-menu-lock-file" :recipe
169 (:package "htmlize" :fetcher github :repo "hniksic/emacs-htmlize" :files
170 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
171 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
172 :source "MELPA" :protocol https :inherit t :depth treeless :ref "8e3841c837b4b78bd72ad7f0436e919f39315a46"))
173 (hydra :source "elpaca-menu-lock-file" :recipe
174 (:package "hydra" :repo "abo-abo/hydra" :fetcher github :files
175 (:defaults
176 (:exclude "lv.el"))
177 :source "MELPA" :protocol https :inherit t :depth treeless :ref "59a2a45a35027948476d1d7751b0f0215b1e61aa"))
178 (inheritenv :source "elpaca-menu-lock-file" :recipe
179 (:package "inheritenv" :fetcher github :repo "purcell/inheritenv" :files
180 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
181 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
182 :source "MELPA" :protocol https :inherit t :depth treeless :ref "b9e67cc20c069539698a9ac54d0e6cc11e616c6f"))
183 (ivy :source "elpaca-menu-lock-file" :recipe
184 (:package "ivy" :repo "abo-abo/swiper" :fetcher github :files
185 (:defaults "doc/ivy-help.org"
186 (:exclude "swiper.el" "counsel.el" "ivy-hydra.el" "ivy-avy.el"))
187 :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e"))
188 (kotlin-ts-mode :source "elpaca-menu-lock-file" :recipe
189 (:package "kotlin-ts-mode" :fetcher gitlab :repo "bricka/emacs-kotlin-ts-mode" :files
190 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
191 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
192 :source "MELPA" :protocol https :inherit t :depth treeless :ref "051c9ef534956c235343fb41546623ff87a1695b"))
193 (llama :source "elpaca-menu-lock-file" :recipe
194 (:package "llama" :fetcher github :repo "tarsius/llama" :files
195 ("llama.el" ".dir-locals.el")
196 :source "MELPA" :protocol https :inherit t :depth treeless :ref "6a67e4253cc02aa9ce85ef96290c95198b65d913"))
197 (lua-mode :source "elpaca-menu-lock-file" :recipe
198 (:package "lua-mode" :repo "immerrr/lua-mode" :fetcher github :files
199 (:defaults
200 (:exclude "init-tryout.el"))
201 :source "MELPA" :protocol https :inherit t :depth treeless :ref "2f6b8d7a6317e42c953c5119b0119ddb337e0a5f"))
202 (lv :source "elpaca-menu-lock-file" :recipe
203 (:package "lv" :repo "abo-abo/hydra" :fetcher github :files
204 ("lv.el")
205 :source "MELPA" :protocol https :inherit t :depth treeless :ref "59a2a45a35027948476d1d7751b0f0215b1e61aa"))
206 (macrostep :source "elpaca-menu-lock-file" :recipe
207 (:package "macrostep" :fetcher github :repo "emacsorphanage/macrostep" :files
208 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
209 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
210 :source "MELPA" :protocol https :inherit t :depth treeless :ref "d0928626b4711dcf9f8f90439d23701118724199"))
211 (magit :source "elpaca-menu-lock-file" :recipe
212 (:package "magit" :fetcher github :repo "magit/magit" :files
213 ("lisp/magit*.el" "lisp/git-*.el" "docs/magit.texi" "docs/AUTHORS.md" "LICENSE" ".dir-locals.el"
214 (:exclude "lisp/magit-section.el"))
215 :source "MELPA" :protocol https :inherit t :depth treeless :ref "a4f73fb2fb55f7644a80b4442379ef43840ec5e9"))
216 (magit-section :source "elpaca-menu-lock-file" :recipe
217 (:package "magit-section" :fetcher github :repo "magit/magit" :files
218 ("lisp/magit-section.el" "docs/magit-section.texi" "magit-section-pkg.el")
219 :source "MELPA" :protocol https :inherit t :depth treeless :ref "a4f73fb2fb55f7644a80b4442379ef43840ec5e9"))
220 (markdown-mode :source "elpaca-menu-lock-file" :recipe
221 (:package "markdown-mode" :fetcher github :repo "jrblevin/markdown-mode" :files
222 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
223 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
224 :source "MELPA" :protocol https :inherit t :depth treeless :ref "7c51a2167c5a1330e0ab52fe5b2d03c1ead122ca"))
225 (modus-themes :source "elpaca-menu-lock-file" :recipe
226 (:package "modus-themes" :fetcher github :repo "protesilaos/modus-themes" :files
227 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
228 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
229 :source "MELPA" :protocol https :inherit t :depth treeless :ref "3550360e88b33b3a8f5f271a1d05afa27ffe54aa"))
230 (nasm-mode :source "elpaca-menu-lock-file" :recipe
231 (:package "nasm-mode" :repo "skeeto/nasm-mode" :fetcher github :files
232 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
233 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
234 :source "MELPA" :protocol https :inherit t :depth treeless :ref "4e670f6dededab858251670aa5459c950f78d867"))
235 (nerd-icons :source "elpaca-menu-lock-file" :recipe
236 (:package "nerd-icons" :repo "rainstormstudio/nerd-icons.el" :fetcher github :files
237 (:defaults "data")
238 :source "MELPA" :protocol https :inherit t :depth treeless :ref "4476b4cabe63f5efafa3c0a8b370db4f6a92e90c"))
239 (nix-mode :source "elpaca-menu-lock-file" :recipe
240 (:package "nix-mode" :fetcher github :repo "NixOS/nix-mode" :files
241 (:defaults
242 (:exclude "nix-company.el" "nix-mode-mmm.el"))
243 :source "MELPA" :protocol https :inherit t :depth treeless :ref "719feb7868fb567ecfe5578f6119892c771ac5e5"))
244 (pfuture :source "elpaca-menu-lock-file" :recipe
245 (:package "pfuture" :repo "Alexander-Miller/pfuture" :fetcher github :files
246 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
247 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
248 :source "MELPA" :protocol https :inherit t :depth treeless :ref "19b53aebbc0f2da31de6326c495038901bffb73c"))
249 (php-mode :source "elpaca-menu-lock-file" :recipe
250 (:package "php-mode" :repo "emacs-php/php-mode" :fetcher github :files
251 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
252 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
253 :source "MELPA" :protocol https :inherit t :depth treeless :ref "40b8abed3079771e060dd99a56703520dabf5be4"))
254 (pico8-mode :source "elpaca-menu-lock-file" :recipe
255 (:source nil :protocol https :inherit t :depth treeless :host github :repo "Kaali/pico8-mode" :package "pico8-mode" :ref "e276c65352f294679af62148df41f36dac744426"))
256 (posframe :source "elpaca-menu-lock-file" :recipe
257 (:package "posframe" :fetcher github :repo "tumashu/posframe" :files
258 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
259 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
260 :source "MELPA" :protocol https :inherit t :depth treeless :ref "12f540c9ad5da09673b2bca1132b41f94c134e82"))
261 (powerline :source "elpaca-menu-lock-file" :recipe
262 (:package "powerline" :fetcher github :repo "milkypostman/powerline" :files
263 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
264 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
265 :source "MELPA" :protocol https :inherit t :depth treeless :ref "c35c35bdf5ce2d992882c1f06f0f078058870d4a"))
266 (proof-general :source "elpaca-menu-lock-file" :recipe
267 (:package "proof-general" :fetcher github :repo "ProofGeneral/PG" :files
268 (:defaults "CHANGES" "AUTHORS" "COPYING" "generic" "images" "lib"
269 ("coq" "coq/*.el")
270 "easycrypt" "phox" "qrhl" "pghaskell" "pgocaml" "pgshell")
271 :source "MELPA" :protocol https :inherit t :depth treeless :ref "999cafbe7320ae887f7eebd441beab7e5b0ae6eb"))
272 (racket-mode :source "elpaca-menu-lock-file" :recipe
273 (:package "racket-mode" :fetcher github :repo "greghendershott/racket-mode" :files
274 (:defaults "*.rkt"
275 ("racket" "racket/*")
276 (:exclude "racket/example/*" "racket/test/*"))
277 :source "MELPA" :protocol https :inherit t :depth treeless :ref "4395797ff130fcdcc9750fb2456d4f762d56852f"))
278 (rainbow-delimiters :source "elpaca-menu-lock-file" :recipe
279 (:package "rainbow-delimiters" :fetcher github :repo "Fanael/rainbow-delimiters" :files
280 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
281 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
282 :source "MELPA" :protocol https :inherit t :depth treeless :ref "f40ece58df8b2f0fb6c8576b527755a552a5e763"))
283 (rainbow-mode :source "elpaca-menu-lock-file" :recipe
284 (:package "rainbow-mode" :repo
285 ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "rainbow-mode")
286 :branch "externals/rainbow-mode" :files
287 ("*"
288 (:exclude ".git"))
289 :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f7db3b5919f70420a91eb199f8663468de3033f3"))
290 (reformatter :source "elpaca-menu-lock-file" :recipe
291 (:package "reformatter" :repo "purcell/emacs-reformatter" :fetcher github :files
292 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
293 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
294 :source "MELPA" :protocol https :inherit t :depth treeless :ref "6ac08cebafb9e04b825ed22d82269ff69cc5f87f"))
295 (s :source "elpaca-menu-lock-file" :recipe
296 (:package "s" :fetcher github :repo "magnars/s.el" :files
297 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
298 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
299 :source "MELPA" :protocol https :inherit t :depth treeless :ref "dda84d38fffdaf0c9b12837b504b402af910d01d"))
300 (scala-mode :source "elpaca-menu-lock-file" :recipe
301 (:package "scala-mode" :fetcher github :repo "hvesalai/emacs-scala-mode" :files
302 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
303 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
304 :source "MELPA" :protocol https :inherit t :depth treeless :ref "661337d8aa0a0cb418184c83757661603de3b2e3"))
305 (seq :source "elpaca-menu-lock-file" :recipe
306 (:package "seq" :repo
307 ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "seq")
308 :branch "externals/seq" :files
309 ("*"
310 (:exclude ".git"))
311 :source "GNU ELPA" :protocol https :inherit t :depth treeless :build
312 (elpaca--queue-dependencies elpaca--add-info-path
313 (lambda
314 (e)
315 (when
316 (featurep 'seq)
317 (unload-feature 'seq t))
318 (elpaca--continue-build e))
319 elpaca--activate-package)
320 :ref "27a90793a13f149121180e864fa53d68b9eac0b3"))
321 (shrink-path :source "elpaca-menu-lock-file" :recipe
322 (:package "shrink-path" :fetcher gitlab :repo "bennya/shrink-path.el" :files
323 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
324 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
325 :source "MELPA" :protocol https :inherit t :depth treeless :ref "c14882c8599aec79a6e8ef2d06454254bb3e1e41"))
326 (slime :source "elpaca-menu-lock-file" :recipe
327 (:package "slime" :fetcher github :repo "slime/slime" :files
328 ("*.el"
329 ("lib" "lib/hyperspec.el")
330 "swank" "*.lisp" "*.asd" "doc/slime.texi" "doc/slime.info" "doc/dir" "ChangeLog"
331 ("contrib" "contrib/*")
332 (:exclude "contrib/test" "contrib/Makefile"))
333 :source "MELPA" :protocol https :inherit t :depth treeless :ref "a378958d3b1cfb0ec8e60ec5404b82dbd7dc55c5"))
334 (smalltalk-mode :source "elpaca-menu-lock-file" :recipe
335 (:package "smalltalk-mode" :repo
336 ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "smalltalk-mode")
337 :branch "externals/smalltalk-mode" :files
338 ("*"
339 (:exclude ".git"))
340 :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f2e976fd395f36c95b9b0b44a22e027232f550ac"))
341 (sml-mode :source "elpaca-menu-lock-file" :recipe
342 (:package "sml-mode" :repo
343 ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "sml-mode")
344 :branch "externals/sml-mode" :files
345 ("*"
346 (:exclude ".git"))
347 :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "39ad5243eb761821e5342ed8cf1ba111d2492f48"))
348 (solaire-mode :source "elpaca-menu-lock-file" :recipe
349 (:package "solaire-mode" :repo "hlissner/emacs-solaire-mode" :fetcher github :files
350 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
351 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
352 :source "MELPA" :protocol https :inherit t :depth treeless :ref "c9334666bd208f3322e6118d30eba1b2438e2bb9"))
353 (svelte-mode :source "elpaca-menu-lock-file" :recipe
354 (:package "svelte-mode" :fetcher github :repo "leafOfTree/svelte-mode" :files
355 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
356 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
357 :source "MELPA" :protocol https :inherit t :depth treeless :ref "ac8fba901dc790976f9893e338c8ad1241b897c6"))
358 (swift-mode :source "elpaca-menu-lock-file" :recipe
359 (:package "swift-mode" :repo "swift-emacs/swift-mode" :fetcher github :files
360 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
361 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
362 :source "MELPA" :protocol https :inherit t :depth treeless :ref "fc7df7bd906a2bb04aac6e0de47fc7acf33ceed3"))
363 (swiper :source "elpaca-menu-lock-file" :recipe
364 (:package "swiper" :repo "abo-abo/swiper" :fetcher github :files
365 ("swiper.el")
366 :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e"))
367 (transient :source "elpaca-menu-lock-file" :recipe
368 (:package "transient" :fetcher github :repo "magit/transient" :files
369 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
370 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
371 :source "MELPA" :protocol https :inherit t :depth treeless :build
372 (elpaca--queue-dependencies elpaca--add-info-path
373 (lambda
374 (e)
375 (when
376 (featurep 'transient)
377 (unload-feature 'transient t))
378 (elpaca--continue-build e))
379 elpaca--activate-package)
380 :ref "51915436f76ff262766d40bee3c84dfe3568d289"))
381 (treemacs :source "elpaca-menu-lock-file" :recipe
382 (:package "treemacs" :fetcher github :repo "Alexander-Miller/treemacs" :files
383 (:defaults "Changelog.org" "icons" "src/elisp/treemacs*.el" "src/scripts/treemacs*.py"
384 (:exclude "src/extra/*"))
385 :source "MELPA" :protocol https :inherit t :depth treeless :ref "7109ce99853b18435a77267a15c5dd06715b54e4"))
386 (treepy :source "elpaca-menu-lock-file" :recipe
387 (:package "treepy" :repo "volrath/treepy.el" :fetcher github :files
388 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
389 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
390 :source "MELPA" :protocol https :inherit t :depth treeless :ref "651e2634f01f346da9ec8a64613c51f54b444bc3"))
391 (typst-ts-mode :source "elpaca-menu-lock-file" :recipe
392 (:package "typst-ts-mode" :repo
393 ("https://codeberg.org/meow_king/typst-ts-mode" . "typst-ts-mode")
394 :files
395 ("*"
396 (:exclude ".git"))
397 :source "NonGNU ELPA" :protocol https :inherit t :depth treeless :ref "972dc69d6b8a3f8983f6b8000654f59c8a8d05ba"))
398 (with-editor :source "elpaca-menu-lock-file" :recipe
399 (:package "with-editor" :fetcher github :repo "magit/with-editor" :files
400 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
401 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
402 :source "MELPA" :protocol https :inherit t :depth treeless :ref "f32cd7b09d518b629bfaa3eeb92b539891c6b9bc"))
403 (yaml :source "elpaca-menu-lock-file" :recipe
404 (:package "yaml" :repo "zkry/yaml.el" :fetcher github :files
405 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
406 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
407 :source "MELPA" :protocol https :inherit t :depth treeless :ref "f99ef76c80e6fc3fcf650c4fe34e10726594a4c4"))
408 (zig-mode :source "elpaca-menu-lock-file" :recipe
409 (:package "zig-mode" :repo "ziglang/zig-mode" :fetcher github :files
410 ("*.el" "*.el.in" "dir" "*.info" "*.texi" "*.texinfo" "doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo" "lisp/*.el" "docs/dir" "docs/*.info" "docs/*.texi" "docs/*.texinfo"
411 (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el"))
412 :source "MELPA" :protocol https :inherit t :depth treeless :ref "9f86fded13e28c6c9ccf56d417276547bac7e54e")))