diff options
| author | 2025-07-16 01:03:36 +0300 | |
|---|---|---|
| committer | 2025-07-16 01:03:36 +0300 | |
| commit | 2657b8d7ff86b69085289b0685d0ad414fd59968 (patch) | |
| tree | 26e04f1e946a60ae77d97c764faef907b0b1c253 | |
| parent | Add zsh (diff) | |
| parent | Move Emacs stuff to emacs/.config/emacs (diff) | |
| download | dotfiles-2657b8d7ff86b69085289b0685d0ad414fd59968.tar.gz dotfiles-2657b8d7ff86b69085289b0685d0ad414fd59968.tar.xz dotfiles-2657b8d7ff86b69085289b0685d0ad414fd59968.zip | |
Merge branch 'emacs-main'
| -rw-r--r-- | emacs/.config/emacs/.gitignore | 9 | ||||
| -rw-r--r-- | emacs/.config/emacs/arkta/arkta-cosmetic.el | 150 | ||||
| -rw-r--r-- | emacs/.config/emacs/arkta/arkta-progmodes.el | 285 | ||||
| -rw-r--r-- | emacs/.config/emacs/arkta/arkta-project.el | 143 | ||||
| -rwxr-xr-x | emacs/.config/emacs/bin/init | 13 | ||||
| -rw-r--r-- | emacs/.config/emacs/early-init.el | 20 | ||||
| -rw-r--r-- | emacs/.config/emacs/init.el | 436 | ||||
| -rw-r--r-- | emacs/.config/emacs/logo.png | bin | 0 -> 50994 bytes | |||
| -rw-r--r-- | emacs/.config/emacs/shared/custom.el | 17 | ||||
| -rw-r--r-- | emacs/.config/emacs/shared/elpaca-lock.el | 412 |
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/ | ||
| 2 | auto-save-list/ | ||
| 3 | eln-cache/ | ||
| 4 | local/ | ||
| 5 | transient/ | ||
| 6 | *~ | ||
| 7 | projectile-bookmarks.eld | ||
| 8 | recentf | ||
| 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 | |||
| 61 | A 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"))) | ||