From e543e54b76c1e97017c7e847dc7105ff95a10d6a Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Wed, 16 Jul 2025 01:02:35 +0300 Subject: Move Emacs stuff to emacs/.config/emacs --- .gitignore | 9 - arkta/arkta-cosmetic.el | 150 --------- arkta/arkta-progmodes.el | 285 ----------------- arkta/arkta-project.el | 143 --------- bin/init | 13 - early-init.el | 20 -- emacs/.config/emacs/.gitignore | 9 + emacs/.config/emacs/arkta/arkta-cosmetic.el | 150 +++++++++ emacs/.config/emacs/arkta/arkta-progmodes.el | 285 +++++++++++++++++ emacs/.config/emacs/arkta/arkta-project.el | 143 +++++++++ emacs/.config/emacs/bin/init | 13 + emacs/.config/emacs/early-init.el | 20 ++ emacs/.config/emacs/init.el | 436 +++++++++++++++++++++++++++ emacs/.config/emacs/logo.png | Bin 0 -> 50994 bytes emacs/.config/emacs/shared/custom.el | 17 ++ emacs/.config/emacs/shared/elpaca-lock.el | 412 +++++++++++++++++++++++++ init.el | 436 --------------------------- logo.png | Bin 50994 -> 0 bytes shared/custom.el | 17 -- shared/elpaca-lock.el | 412 ------------------------- 20 files changed, 1485 insertions(+), 1485 deletions(-) delete mode 100644 .gitignore delete mode 100644 arkta/arkta-cosmetic.el delete mode 100644 arkta/arkta-progmodes.el delete mode 100644 arkta/arkta-project.el delete mode 100755 bin/init delete mode 100644 early-init.el create mode 100644 emacs/.config/emacs/.gitignore create mode 100644 emacs/.config/emacs/arkta/arkta-cosmetic.el create mode 100644 emacs/.config/emacs/arkta/arkta-progmodes.el create mode 100644 emacs/.config/emacs/arkta/arkta-project.el create mode 100755 emacs/.config/emacs/bin/init create mode 100644 emacs/.config/emacs/early-init.el create mode 100644 emacs/.config/emacs/init.el create mode 100644 emacs/.config/emacs/logo.png create mode 100644 emacs/.config/emacs/shared/custom.el create mode 100644 emacs/.config/emacs/shared/elpaca-lock.el delete mode 100644 init.el delete mode 100644 logo.png delete mode 100644 shared/custom.el delete mode 100644 shared/elpaca-lock.el diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e39d2ba..0000000 --- a/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -.cache/ -auto-save-list/ -eln-cache/ -local/ -transient/ -*~ -projectile-bookmarks.eld -recentf -/forge-database*.sqlite diff --git a/arkta/arkta-cosmetic.el b/arkta/arkta-cosmetic.el deleted file mode 100644 index 96e5498..0000000 --- a/arkta/arkta-cosmetic.el +++ /dev/null @@ -1,150 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -(use-package ansi-color - :ensure nil - :hook (compilation-filter . ansi-color-compilation-filter) - :custom - (ansi-color-for-compilation-mode t)) - -(use-package centaur-tabs - :ensure t - :demand t - :init - (defun arkta/disable-centaur-tabs-mode () - (centaur-tabs-local-mode +1)) - :hook (dashboard-mode . arkta/disable-centaur-tabs-mode) - :bind (("C-x " . centaur-tabs-forward) - ("C-x " . centaur-tabs-forward) - ("C-x " . centaur-tabs-backward) - ("C-x " . centaur-tabs-backward)) - :custom - (centaur-tabs-style "alternate") - (centaur-tabs-height 35) - (centaur-tabs-icon-type 'nerd-icons) - (centaur-tabs-set-icons t) - (centaur-tabs-gray-out-icons 'buffer) - (centaur-tabs-set-bar 'over) - (centaur-tabs-set-close-button nil) - (centaur-tabs-set-modified-marker t) - (centaur-tabs-modified-marker "●") - (centaur-tabs-cycle-scope 'tabs) - :config - (centaur-tabs-mode +1)) - -(use-package display-fill-column-indicator - :ensure nil - :demand t - :init - (defun arkta/disable-dfci () - (display-fill-column-indicator-mode -1)) - :hook (dashboard-mode . arkta/disable-dfci) - :config - (global-display-fill-column-indicator-mode +1)) - -(use-package display-line-numbers - :ensure nil - :demand t - :init - (defun arkta/disable-dln () - (display-line-numbers-mode -1)) - :hook ((dashboard-mode help-mode) . arkta/disable-dln) - :config - (global-display-line-numbers-mode +1)) - -(use-package doom-modeline - :ensure t - :custom - (doom-modeline-bar-width 4) - (doom-modeline-battery t) - (doom-modeline-buffer-file-true-name t) - (doom-modeline-height 25) - (doom-modeline-hud t) - (doom-modeline-hud-min-height 6) - (doom-modeline-icon t) - (doom-modeline-percent-position nil) - (doom-modeline-project-detection 'project) - (doom-modeline-total-line-number t) - :config - (doom-modeline-mode +1)) - -(use-package emojify - :ensure t - :config - (global-emojify-mode +1)) - -(use-package faces - :ensure nil - :custom-face - (default ((t (:weight ,(if +mac+ 'medium 'regular) - :slant normal - :width normal - :font "Input Mono" - :height 130))))) - -(use-package git-gutter - :ensure t - :config - (global-git-gutter-mode +1)) - -(use-package hl-line - :ensure nil - :config - (global-hl-line-mode +1)) - -(use-package hl-todo - :ensure t - :config - (global-hl-todo-mode +1)) - -(use-package modus-themes - :ensure t - :config - (load-theme 'modus-operandi t)) - -(use-package nerd-icons - :ensure t - :init - (defun arkta/nerd-icons-maybe-install-fonts () - (when (and (display-graphic-p) - (not (find-font (font-spec :family nerd-icons-font-family)))) - ;; TODO: Maybe also reinstall them every month or so - (nerd-icons-install-fonts t))) - :hook ((elpaca-after-init server-after-make-frame) . arkta/nerd-icons-maybe-install-fonts)) - -(use-package rainbow-delimiters - :ensure t - :hook (prog-mode . rainbow-delimiters-mode)) - -(use-package rainbow-mode - :ensure t - :init - (defun arkta/enable-rainbow () - (rainbow-mode +1)) - :hook (prog-mode . arkta/enable-rainbow)) - -(use-package scroll-bar - :ensure nil - :defer t - :config - (scroll-bar-mode -1)) - -(use-package solaire-mode - :ensure t - :config - (solaire-global-mode +1)) - -(use-package time - :ensure nil - :custom - (display-time-default-load-average nil) - :config - (display-time-mode +1)) - -(use-package tool-bar - :ensure nil - :defer t - :config - (tool-bar-mode -1)) - -(provide 'arkta-cosmetic) diff --git a/arkta/arkta-progmodes.el b/arkta/arkta-progmodes.el deleted file mode 100644 index a85d0c0..0000000 --- a/arkta/arkta-progmodes.el +++ /dev/null @@ -1,285 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -(use-package adoc-mode - :ensure t - :mode "\\.adoc\\'") - -(use-package asm-mode - :ensure nil - :mode ("\\.s\\'" "\\.S\\'") - :init - (defun arkta/asm-setup () - (set-tab-usage t) - (set-tab-width 8)) - :hook (asm-mode . arkta/asm-setup)) - -(use-package auto-compile - :after elisp-mode - :ensure t - :hook ((emacs-lisp-mode . auto-compile-on-load-mode) - (emacs-lisp-mode . auto-compile-on-save-mode))) - -(use-package c-ts-mode - :after treesit - :ensure nil - :mode ("\\.c\\'" - ("\\.cpp\\'" . c++-ts-mode)) - :init - (defun arkta/c-setup () - (set-tab-usage t) - (set-tab-width c-ts-mode-indent-offset)) - :hook (c-ts-base-mode . arkta/c-setup) - :custom - (c-ts-mode-indent-offset 8) - (c-ts-mode-indent-style (lambda () - `(((node-is ")") parent-bol 0) - ((node-is "}") parent-bol 0) - ((node-is "access_specifier") parent-bol 0) - ((parent-is "argument_list") parent-bol c-ts-mode-indent-offset) - ((parent-is "parameter_list") parent-bol c-ts-mode-indent-offset) - ((parent-is "field_declaration_list") parent-bol c-ts-mode-indent-offset) - ,@(alist-get 'linux (c-ts-mode--indent-styles 'c)))))) - -(use-package cmake-ts-mode - :after treesit - :ensure nil - :mode ("CMakeLists\\.txt\\'" - "\\.cmake\\'")) - -(use-package company-mlton - :after (company sml) - :ensure '(company-mlton :host github - :repo "MatthewFluet/company-mlton") - :hook (sml-mode . company-mlton-init)) - -(use-package csharp-mode - :after treesit - :ensure nil - :mode "\\.cs\\'") - -(use-package css-mode - :after treesit - :ensure nil - :mode "\\.css\\'") - -(use-package dart-mode - :ensure t - :mode "\\.dart\\'") - -(use-package dockerfile-ts-mode - :after treesit - :ensure nil - :mode "Dockerfile\\'") - -(use-package ebuild-mode - :ensure (ebuild-mode :host github - :repo "emacsmirror/ebuild-mode") - :mode ("\\.ebuild\\'" - "\\.eclass\\'")) - -(use-package elisp-mode - :ensure nil - :mode ("\\.el\\'" . emacs-lisp-mode)) - -(use-package elixir-mode - :ensure t - :mode "\\.exs?\\'" - :init - (defun arkta/elixir-setup () - (add-hook 'before-save-hook #'elixir-format nil t)) - :hook (elixir-mode . arkta/elixir-setup)) - -(use-package gdscript-mode - :ensure t - :mode "\\.gd\\'") - -(use-package go-ts-mode - :after treesit - :ensure nil - :mode "\\.go\\'" - :init - (defun arkta/go-setup () - (add-hook 'before-save-hook #'gofmt-before-save nil t) - (set-tab-usage t) - (set-tab-width go-ts-mode-indent-offset)) - :hook (go-ts-mode . arkta/go-setup)) - -(use-package groovy-mode - :ensure t - :mode ("Jenkinsfile\\'" - "\\.jenkinsfile\\'" - "\\.gradle\\'" - "\\.groovy\\'")) - -(use-package haskell-mode - :ensure t - :mode "\\.hs\\'") - -(use-package htmlize - :ensure t) - -(use-package java-ts-mode - :after treesit - :ensure nil - :mode "\\.java\\'") - -(use-package js - :after treesit - :ensure nil - :mode ("\\.js\\'" . js-ts-mode)) - -(use-package json-ts-mode - :after treesit - :ensure nil - :mode "\\.json\\'") - -(use-package kotlin-ts-mode - :after treesit - :ensure t - :mode "\\.kts?\\'") - -(use-package lisp-mode - :ensure nil - :mode "\\.lisp\\'") - -(use-package lua-mode - :ensure t - :custom - (lua-indent-level 4) - :mode ("\\.lua\\'" "\\.rockspec\\'")) - -(use-package make-mode - :ensure nil - :mode (("Makefile\\'" . makefile-gmake-mode) - ("GNUmakefile\\'" . makefile-mode) - ("\\.mk\\(\\.template\\)?\\'" . makefile-mode))) - -(use-package markdown-mode - :ensure t - :mode ("\\.md\\'" . gfm-mode)) - -(use-package nasm-mode - :ensure t - :mode ("\\.asm\\'" - "\\.inc\\'") - :init - (defun arkta/nasm-setup () - (set-tab-width 4)) - :hook (nasm-mode . arkta/nasm-setup)) - -(use-package nix-mode - :ensure t - :mode "\\.nix\\'") - -(use-package nxml-mode - :ensure nil - :mode ("\\.xml\\'" - "\\.plist\\'" - "\\.svg\\'")) - -(use-package org - :ensure nil - :after htmlize - :bind (("C-c l" . org-store-link) - ("C-c a" . org-agenda)) - :mode ("\\.org\\'" . org-mode) - :custom - (org-agenda-files '("~/TODO.org")) - (org-log-done t)) - -(use-package php-mode - :ensure t - :mode "\\.php\\'") - -(use-package pico8-mode - :ensure '(pico8-mode :host github - :repo "Kaali/pico8-mode") - :mode "\\.p8\\'") - -(use-package proof-general - :ensure t) - -(use-package prolog - :ensure nil - :mode ("\\.pl\\'" . prolog-mode)) - -(use-package python - :after treesit - :ensure nil - :mode ("\\.py\\'" . python-ts-mode)) - -(use-package racket-mode - :ensure t - :mode "\\.rkt\\'") - -(use-package ruby-ts-mode - :after treesit - :ensure nil - :mode "\\.rb\\'") - -(use-package rust-ts-mode - :after treesit - :ensure nil - :mode "\\.rs\\'") - -(use-package scala-mode - :ensure t - :mode "\\.scala\\'") - -(use-package scheme - :ensure nil - :commands scheme-mode - :mode ("\\.scm\\'" . scheme-mode) - :config - (put 'module 'scheme-indent-function 2)) - -(use-package slime - :ensure t - :after lisp-mode - :commands slime - :custom - (inferior-lisp-program (executable-find "sbcl"))) - -(use-package smalltalk-mode - :ensure t - :mode "\\.st\\'") - -(use-package sml-mode - :ensure t - :mode "\\.sml\\'") - -(use-package svelte-mode - :ensure t - :mode ("\\.svelte\\'" "\\.svx\\'")) - -(use-package swift-mode - ;; There's swift-ts-mode... but it doesn't have parser.c committed... - :ensure t - :mode "\\.swift\\'") - -(use-package toml-ts-mode - :after treesit - :ensure nil - :mode "\\.toml\\'") - -(use-package typescript-ts-mode - :after treesit - :ensure nil - :mode "\\.ts\\'") - -(use-package typst-ts-mode - :after treesit - :ensure t - :mode "\\.typ\\'") - -(use-package yaml-ts-mode - :after treesit - :ensure nil - :mode ("\\.clang-\\(tidy\\|format\\)\\'" "\\.ya?ml\\'")) - -(use-package zig-mode - :ensure t - :mode "\\.zig\\'") - -(provide 'arkta-progmodes) diff --git a/arkta/arkta-project.el b/arkta/arkta-project.el deleted file mode 100644 index 18354a9..0000000 --- a/arkta/arkta-project.el +++ /dev/null @@ -1,143 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -;; TODO: See about porting this to project.el: -;; (define-key map (kbd "a") #'projectile-find-other-file) -;; (define-key map (kbd "E") #'projectile-edit-dir-locals) -;; (define-key map (kbd "g") #'projectile-find-file-dwim) -;; (define-key map (kbd "i") #'projectile-invalidate-cache) -;; (define-key map (kbd "I") #'projectile-ibuffer) -;; (define-key map (kbd "j") #'projectile-find-tag) -;; (define-key map (kbd "l") #'projectile-find-file-in-directory) -;; (define-key map (kbd "m") #'projectile-commander) -;; (define-key map (kbd "o") #'projectile-multi-occur) -;; (define-key map (kbd "q") #'projectile-switch-open-project) -;; (define-key map (kbd "R") #'projectile-regenerate-tags) - -;; (define-key map (kbd "s r") #'projectile-ripgrep) -;; (define-key map (kbd "s s") #'projectile-ag) - -;; (define-key map (kbd "S") #'projectile-save-project-buffers) -;; (define-key map (kbd "t") #'projectile-toggle-between-implementation-and-test) -;; (define-key map (kbd "T") #'projectile-find-test-file) -;; ;; project lifecycle external commands -;; ;; TODO: Bundle those under some prefix key -;; (define-key map (kbd "C") #'projectile-configure-project) -;; (define-key map (kbd "K") #'projectile-package-project) -;; (define-key map (kbd "L") #'projectile-install-project) -;; (define-key map (kbd "P") #'projectile-test-project) -;; (define-key map (kbd "u") #'projectile-run-project) - -;; ;; integration with utilities -;; (define-key map (kbd "x i") #'projectile-run-ielm) -;; (define-key map (kbd "x t") #'projectile-run-term) -;; (define-key map (kbd "x g") #'projectile-run-gdb) -;; (define-key map (kbd "x v") #'projectile-run-vterm) -;; (define-key map (kbd "x 4 v") #'projectile-run-vterm-other-window) - -;; ;; misc -;; (define-key map (kbd "z") #'projectile-cache-current-file) -;; (define-key map (kbd "") #'projectile-previous-project-buffer) -;; (define-key map (kbd "") #'projectile-next-project-buffer) -;; (define-key map (kbd "ESC") #'projectile-project-buffers-other-buffer) - -(cl-defun arkta/project-completing-read (prompt choices &key initial-input action (project (project-current t))) - "Present a project tailored PROMPT with CHOICES." - (require 'ivy) - (let ((prompt (arkta/project-prepend-project-name prompt project))) - (ivy-read prompt choices - :initial-input initial-input - :action action - :caller 'arkta/project-completing-read))) - -(defun arkta/project-expand-root (name &optional project) - "Expand NAME to project root." - (let (project (or project (project-current t))) - (expand-file-name name (project-root project)))) - -(defun arkta/project-find-references (&optional symbol) - "Find all references to SYMBOL in the current project. - -A thin wrapper around `xref-references-in-directory'." - (interactive) - (require 'xref) - (let ((project-root (project-root (project-current t))) - (symbol (or symbol - (read-from-minibuffer "Lookup in project: " (arkta/symbol-at-point))))) - (xref-show-xrefs (xref-references-in-directory symbol project-root) nil))) - -(defun arkta/project-magit-status () - (interactive) - (magit-status (project-root (project-current t)))) - -(defun arkta/project-prepend-project-name (string &optional project) - "Prepend the current project's name to STRING." - (let ((project (or project (project-current t)))) - (format "[%s] %s" (project-name project) string))) - -(defun arkta/project-recentf () - "Show a list of recently visited files in a project." - (interactive) - (let ((project (project-current t))) - (find-file (arkta/project-expand-root - (arkta/project-completing-read - "Recently visited files: " - (arkta/project-recentf-files project) - :project project) - project)))) - -(defun arkta/project-recentf-files (&optional project) - "Return a list of recently visited files in a project." - (require 'recentf) - (let* ((project (or project (project-current t))) - (project-root (expand-file-name (project-root project)))) - (mapcar - (lambda (f) (file-relative-name f project-root)) - (cl-remove-if-not - (lambda (f) (string-prefix-p project-root (expand-file-name f))) - recentf-list)))) - -(defun arkta/symbol-at-point () - "Get the symbol at point and strip its properties." - (substring-no-properties (or (thing-at-point 'symbol) ""))) - -(use-package project - :ensure nil - :config - (defvar-keymap arkta/project-prefix-map - :parent project-prefix-map - "C-b" 'project-list-buffers - - "!" 'project-shell-command - "&" 'project-async-shell-command - - "4" 'project-other-window-command - "5" 'project-other-frame-command - - "D" 'project-dired - "F" 'project-or-external-find-file - "V" 'project-vc-dir - - "b" 'project-switch-to-buffer - "c" 'project-compile - "d" 'project-find-dir - "e" 'arkta/project-recentf - "f" 'project-find-file - "k" 'project-kill-buffers - "p" 'project-switch-project - "r" 'project-query-replace-regexp - "v" 'arkta/project-magit-status - - "M-x" 'project-execute-extended-command - - "s f" 'project-find-file - "s g" 'project-find-regexp - "s r" 'project-find-regexp - "s x" 'arkta/project-find-references - - "x e" 'project-eshell - "x s" 'project-shell) - (fset 'arkta/project-prefix-map arkta/project-prefix-map) - :bind (("C-c p" . arkta/project-prefix-map))) - -(provide 'arkta-project) diff --git a/bin/init b/bin/init deleted file mode 100755 index a4feab4..0000000 --- a/bin/init +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -:;set -e # -*- mode: emacs-lisp; lexical-binding: t -*- -:;exec emacs --script "$0" "$@" - -(setq gc-cons-threshold (* 128 1024 1024)) - -(setq load-prefer-newer t) - -(setq user-emacs-directory - (expand-file-name ".." (file-name-directory (file-truename load-file-name)))) - -(load (expand-file-name "init.el" user-emacs-directory)) - diff --git a/early-init.el b/early-init.el deleted file mode 100644 index 6757f7b..0000000 --- a/early-init.el +++ /dev/null @@ -1,20 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -;; Shutdown GC during initialisation -;; It will be replaced by GCMH :) -(setq gc-cons-threshold most-positive-fixnum) - -;; Disable package.el in favour of elpaca -(setq package-enable-at-startup nil) - -;; UTF-8 duh -(set-language-environment "UTF-8") -(setq selection-coding-system 'utf-8 - default-input-method nil) - -(setq user-emacs-directory (file-name-directory load-file-name)) - -(add-to-list 'load-path (expand-file-name "arkta" user-emacs-directory)) - -(defconst loaded-early-init t) 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 @@ +.cache/ +auto-save-list/ +eln-cache/ +local/ +transient/ +*~ +projectile-bookmarks.eld +recentf +/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 @@ +;; -*- lexical-binding: t -*- +;; Copyright © 2018-2025 Uko Koknevics + +(use-package ansi-color + :ensure nil + :hook (compilation-filter . ansi-color-compilation-filter) + :custom + (ansi-color-for-compilation-mode t)) + +(use-package centaur-tabs + :ensure t + :demand t + :init + (defun arkta/disable-centaur-tabs-mode () + (centaur-tabs-local-mode +1)) + :hook (dashboard-mode . arkta/disable-centaur-tabs-mode) + :bind (("C-x " . centaur-tabs-forward) + ("C-x " . centaur-tabs-forward) + ("C-x " . centaur-tabs-backward) + ("C-x " . centaur-tabs-backward)) + :custom + (centaur-tabs-style "alternate") + (centaur-tabs-height 35) + (centaur-tabs-icon-type 'nerd-icons) + (centaur-tabs-set-icons t) + (centaur-tabs-gray-out-icons 'buffer) + (centaur-tabs-set-bar 'over) + (centaur-tabs-set-close-button nil) + (centaur-tabs-set-modified-marker t) + (centaur-tabs-modified-marker "●") + (centaur-tabs-cycle-scope 'tabs) + :config + (centaur-tabs-mode +1)) + +(use-package display-fill-column-indicator + :ensure nil + :demand t + :init + (defun arkta/disable-dfci () + (display-fill-column-indicator-mode -1)) + :hook (dashboard-mode . arkta/disable-dfci) + :config + (global-display-fill-column-indicator-mode +1)) + +(use-package display-line-numbers + :ensure nil + :demand t + :init + (defun arkta/disable-dln () + (display-line-numbers-mode -1)) + :hook ((dashboard-mode help-mode) . arkta/disable-dln) + :config + (global-display-line-numbers-mode +1)) + +(use-package doom-modeline + :ensure t + :custom + (doom-modeline-bar-width 4) + (doom-modeline-battery t) + (doom-modeline-buffer-file-true-name t) + (doom-modeline-height 25) + (doom-modeline-hud t) + (doom-modeline-hud-min-height 6) + (doom-modeline-icon t) + (doom-modeline-percent-position nil) + (doom-modeline-project-detection 'project) + (doom-modeline-total-line-number t) + :config + (doom-modeline-mode +1)) + +(use-package emojify + :ensure t + :config + (global-emojify-mode +1)) + +(use-package faces + :ensure nil + :custom-face + (default ((t (:weight ,(if +mac+ 'medium 'regular) + :slant normal + :width normal + :font "Input Mono" + :height 130))))) + +(use-package git-gutter + :ensure t + :config + (global-git-gutter-mode +1)) + +(use-package hl-line + :ensure nil + :config + (global-hl-line-mode +1)) + +(use-package hl-todo + :ensure t + :config + (global-hl-todo-mode +1)) + +(use-package modus-themes + :ensure t + :config + (load-theme 'modus-operandi t)) + +(use-package nerd-icons + :ensure t + :init + (defun arkta/nerd-icons-maybe-install-fonts () + (when (and (display-graphic-p) + (not (find-font (font-spec :family nerd-icons-font-family)))) + ;; TODO: Maybe also reinstall them every month or so + (nerd-icons-install-fonts t))) + :hook ((elpaca-after-init server-after-make-frame) . arkta/nerd-icons-maybe-install-fonts)) + +(use-package rainbow-delimiters + :ensure t + :hook (prog-mode . rainbow-delimiters-mode)) + +(use-package rainbow-mode + :ensure t + :init + (defun arkta/enable-rainbow () + (rainbow-mode +1)) + :hook (prog-mode . arkta/enable-rainbow)) + +(use-package scroll-bar + :ensure nil + :defer t + :config + (scroll-bar-mode -1)) + +(use-package solaire-mode + :ensure t + :config + (solaire-global-mode +1)) + +(use-package time + :ensure nil + :custom + (display-time-default-load-average nil) + :config + (display-time-mode +1)) + +(use-package tool-bar + :ensure nil + :defer t + :config + (tool-bar-mode -1)) + +(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 @@ +;; -*- lexical-binding: t -*- +;; Copyright © 2018-2025 Uko Koknevics + +(use-package adoc-mode + :ensure t + :mode "\\.adoc\\'") + +(use-package asm-mode + :ensure nil + :mode ("\\.s\\'" "\\.S\\'") + :init + (defun arkta/asm-setup () + (set-tab-usage t) + (set-tab-width 8)) + :hook (asm-mode . arkta/asm-setup)) + +(use-package auto-compile + :after elisp-mode + :ensure t + :hook ((emacs-lisp-mode . auto-compile-on-load-mode) + (emacs-lisp-mode . auto-compile-on-save-mode))) + +(use-package c-ts-mode + :after treesit + :ensure nil + :mode ("\\.c\\'" + ("\\.cpp\\'" . c++-ts-mode)) + :init + (defun arkta/c-setup () + (set-tab-usage t) + (set-tab-width c-ts-mode-indent-offset)) + :hook (c-ts-base-mode . arkta/c-setup) + :custom + (c-ts-mode-indent-offset 8) + (c-ts-mode-indent-style (lambda () + `(((node-is ")") parent-bol 0) + ((node-is "}") parent-bol 0) + ((node-is "access_specifier") parent-bol 0) + ((parent-is "argument_list") parent-bol c-ts-mode-indent-offset) + ((parent-is "parameter_list") parent-bol c-ts-mode-indent-offset) + ((parent-is "field_declaration_list") parent-bol c-ts-mode-indent-offset) + ,@(alist-get 'linux (c-ts-mode--indent-styles 'c)))))) + +(use-package cmake-ts-mode + :after treesit + :ensure nil + :mode ("CMakeLists\\.txt\\'" + "\\.cmake\\'")) + +(use-package company-mlton + :after (company sml) + :ensure '(company-mlton :host github + :repo "MatthewFluet/company-mlton") + :hook (sml-mode . company-mlton-init)) + +(use-package csharp-mode + :after treesit + :ensure nil + :mode "\\.cs\\'") + +(use-package css-mode + :after treesit + :ensure nil + :mode "\\.css\\'") + +(use-package dart-mode + :ensure t + :mode "\\.dart\\'") + +(use-package dockerfile-ts-mode + :after treesit + :ensure nil + :mode "Dockerfile\\'") + +(use-package ebuild-mode + :ensure (ebuild-mode :host github + :repo "emacsmirror/ebuild-mode") + :mode ("\\.ebuild\\'" + "\\.eclass\\'")) + +(use-package elisp-mode + :ensure nil + :mode ("\\.el\\'" . emacs-lisp-mode)) + +(use-package elixir-mode + :ensure t + :mode "\\.exs?\\'" + :init + (defun arkta/elixir-setup () + (add-hook 'before-save-hook #'elixir-format nil t)) + :hook (elixir-mode . arkta/elixir-setup)) + +(use-package gdscript-mode + :ensure t + :mode "\\.gd\\'") + +(use-package go-ts-mode + :after treesit + :ensure nil + :mode "\\.go\\'" + :init + (defun arkta/go-setup () + (add-hook 'before-save-hook #'gofmt-before-save nil t) + (set-tab-usage t) + (set-tab-width go-ts-mode-indent-offset)) + :hook (go-ts-mode . arkta/go-setup)) + +(use-package groovy-mode + :ensure t + :mode ("Jenkinsfile\\'" + "\\.jenkinsfile\\'" + "\\.gradle\\'" + "\\.groovy\\'")) + +(use-package haskell-mode + :ensure t + :mode "\\.hs\\'") + +(use-package htmlize + :ensure t) + +(use-package java-ts-mode + :after treesit + :ensure nil + :mode "\\.java\\'") + +(use-package js + :after treesit + :ensure nil + :mode ("\\.js\\'" . js-ts-mode)) + +(use-package json-ts-mode + :after treesit + :ensure nil + :mode "\\.json\\'") + +(use-package kotlin-ts-mode + :after treesit + :ensure t + :mode "\\.kts?\\'") + +(use-package lisp-mode + :ensure nil + :mode "\\.lisp\\'") + +(use-package lua-mode + :ensure t + :custom + (lua-indent-level 4) + :mode ("\\.lua\\'" "\\.rockspec\\'")) + +(use-package make-mode + :ensure nil + :mode (("Makefile\\'" . makefile-gmake-mode) + ("GNUmakefile\\'" . makefile-mode) + ("\\.mk\\(\\.template\\)?\\'" . makefile-mode))) + +(use-package markdown-mode + :ensure t + :mode ("\\.md\\'" . gfm-mode)) + +(use-package nasm-mode + :ensure t + :mode ("\\.asm\\'" + "\\.inc\\'") + :init + (defun arkta/nasm-setup () + (set-tab-width 4)) + :hook (nasm-mode . arkta/nasm-setup)) + +(use-package nix-mode + :ensure t + :mode "\\.nix\\'") + +(use-package nxml-mode + :ensure nil + :mode ("\\.xml\\'" + "\\.plist\\'" + "\\.svg\\'")) + +(use-package org + :ensure nil + :after htmlize + :bind (("C-c l" . org-store-link) + ("C-c a" . org-agenda)) + :mode ("\\.org\\'" . org-mode) + :custom + (org-agenda-files '("~/TODO.org")) + (org-log-done t)) + +(use-package php-mode + :ensure t + :mode "\\.php\\'") + +(use-package pico8-mode + :ensure '(pico8-mode :host github + :repo "Kaali/pico8-mode") + :mode "\\.p8\\'") + +(use-package proof-general + :ensure t) + +(use-package prolog + :ensure nil + :mode ("\\.pl\\'" . prolog-mode)) + +(use-package python + :after treesit + :ensure nil + :mode ("\\.py\\'" . python-ts-mode)) + +(use-package racket-mode + :ensure t + :mode "\\.rkt\\'") + +(use-package ruby-ts-mode + :after treesit + :ensure nil + :mode "\\.rb\\'") + +(use-package rust-ts-mode + :after treesit + :ensure nil + :mode "\\.rs\\'") + +(use-package scala-mode + :ensure t + :mode "\\.scala\\'") + +(use-package scheme + :ensure nil + :commands scheme-mode + :mode ("\\.scm\\'" . scheme-mode) + :config + (put 'module 'scheme-indent-function 2)) + +(use-package slime + :ensure t + :after lisp-mode + :commands slime + :custom + (inferior-lisp-program (executable-find "sbcl"))) + +(use-package smalltalk-mode + :ensure t + :mode "\\.st\\'") + +(use-package sml-mode + :ensure t + :mode "\\.sml\\'") + +(use-package svelte-mode + :ensure t + :mode ("\\.svelte\\'" "\\.svx\\'")) + +(use-package swift-mode + ;; There's swift-ts-mode... but it doesn't have parser.c committed... + :ensure t + :mode "\\.swift\\'") + +(use-package toml-ts-mode + :after treesit + :ensure nil + :mode "\\.toml\\'") + +(use-package typescript-ts-mode + :after treesit + :ensure nil + :mode "\\.ts\\'") + +(use-package typst-ts-mode + :after treesit + :ensure t + :mode "\\.typ\\'") + +(use-package yaml-ts-mode + :after treesit + :ensure nil + :mode ("\\.clang-\\(tidy\\|format\\)\\'" "\\.ya?ml\\'")) + +(use-package zig-mode + :ensure t + :mode "\\.zig\\'") + +(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 @@ +;; -*- lexical-binding: t -*- +;; Copyright © 2018-2025 Uko Koknevics + +;; TODO: See about porting this to project.el: +;; (define-key map (kbd "a") #'projectile-find-other-file) +;; (define-key map (kbd "E") #'projectile-edit-dir-locals) +;; (define-key map (kbd "g") #'projectile-find-file-dwim) +;; (define-key map (kbd "i") #'projectile-invalidate-cache) +;; (define-key map (kbd "I") #'projectile-ibuffer) +;; (define-key map (kbd "j") #'projectile-find-tag) +;; (define-key map (kbd "l") #'projectile-find-file-in-directory) +;; (define-key map (kbd "m") #'projectile-commander) +;; (define-key map (kbd "o") #'projectile-multi-occur) +;; (define-key map (kbd "q") #'projectile-switch-open-project) +;; (define-key map (kbd "R") #'projectile-regenerate-tags) + +;; (define-key map (kbd "s r") #'projectile-ripgrep) +;; (define-key map (kbd "s s") #'projectile-ag) + +;; (define-key map (kbd "S") #'projectile-save-project-buffers) +;; (define-key map (kbd "t") #'projectile-toggle-between-implementation-and-test) +;; (define-key map (kbd "T") #'projectile-find-test-file) +;; ;; project lifecycle external commands +;; ;; TODO: Bundle those under some prefix key +;; (define-key map (kbd "C") #'projectile-configure-project) +;; (define-key map (kbd "K") #'projectile-package-project) +;; (define-key map (kbd "L") #'projectile-install-project) +;; (define-key map (kbd "P") #'projectile-test-project) +;; (define-key map (kbd "u") #'projectile-run-project) + +;; ;; integration with utilities +;; (define-key map (kbd "x i") #'projectile-run-ielm) +;; (define-key map (kbd "x t") #'projectile-run-term) +;; (define-key map (kbd "x g") #'projectile-run-gdb) +;; (define-key map (kbd "x v") #'projectile-run-vterm) +;; (define-key map (kbd "x 4 v") #'projectile-run-vterm-other-window) + +;; ;; misc +;; (define-key map (kbd "z") #'projectile-cache-current-file) +;; (define-key map (kbd "") #'projectile-previous-project-buffer) +;; (define-key map (kbd "") #'projectile-next-project-buffer) +;; (define-key map (kbd "ESC") #'projectile-project-buffers-other-buffer) + +(cl-defun arkta/project-completing-read (prompt choices &key initial-input action (project (project-current t))) + "Present a project tailored PROMPT with CHOICES." + (require 'ivy) + (let ((prompt (arkta/project-prepend-project-name prompt project))) + (ivy-read prompt choices + :initial-input initial-input + :action action + :caller 'arkta/project-completing-read))) + +(defun arkta/project-expand-root (name &optional project) + "Expand NAME to project root." + (let (project (or project (project-current t))) + (expand-file-name name (project-root project)))) + +(defun arkta/project-find-references (&optional symbol) + "Find all references to SYMBOL in the current project. + +A thin wrapper around `xref-references-in-directory'." + (interactive) + (require 'xref) + (let ((project-root (project-root (project-current t))) + (symbol (or symbol + (read-from-minibuffer "Lookup in project: " (arkta/symbol-at-point))))) + (xref-show-xrefs (xref-references-in-directory symbol project-root) nil))) + +(defun arkta/project-magit-status () + (interactive) + (magit-status (project-root (project-current t)))) + +(defun arkta/project-prepend-project-name (string &optional project) + "Prepend the current project's name to STRING." + (let ((project (or project (project-current t)))) + (format "[%s] %s" (project-name project) string))) + +(defun arkta/project-recentf () + "Show a list of recently visited files in a project." + (interactive) + (let ((project (project-current t))) + (find-file (arkta/project-expand-root + (arkta/project-completing-read + "Recently visited files: " + (arkta/project-recentf-files project) + :project project) + project)))) + +(defun arkta/project-recentf-files (&optional project) + "Return a list of recently visited files in a project." + (require 'recentf) + (let* ((project (or project (project-current t))) + (project-root (expand-file-name (project-root project)))) + (mapcar + (lambda (f) (file-relative-name f project-root)) + (cl-remove-if-not + (lambda (f) (string-prefix-p project-root (expand-file-name f))) + recentf-list)))) + +(defun arkta/symbol-at-point () + "Get the symbol at point and strip its properties." + (substring-no-properties (or (thing-at-point 'symbol) ""))) + +(use-package project + :ensure nil + :config + (defvar-keymap arkta/project-prefix-map + :parent project-prefix-map + "C-b" 'project-list-buffers + + "!" 'project-shell-command + "&" 'project-async-shell-command + + "4" 'project-other-window-command + "5" 'project-other-frame-command + + "D" 'project-dired + "F" 'project-or-external-find-file + "V" 'project-vc-dir + + "b" 'project-switch-to-buffer + "c" 'project-compile + "d" 'project-find-dir + "e" 'arkta/project-recentf + "f" 'project-find-file + "k" 'project-kill-buffers + "p" 'project-switch-project + "r" 'project-query-replace-regexp + "v" 'arkta/project-magit-status + + "M-x" 'project-execute-extended-command + + "s f" 'project-find-file + "s g" 'project-find-regexp + "s r" 'project-find-regexp + "s x" 'arkta/project-find-references + + "x e" 'project-eshell + "x s" 'project-shell) + (fset 'arkta/project-prefix-map arkta/project-prefix-map) + :bind (("C-c p" . arkta/project-prefix-map))) + +(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 @@ +#!/bin/sh +:;set -e # -*- mode: emacs-lisp; lexical-binding: t -*- +:;exec emacs --script "$0" "$@" + +(setq gc-cons-threshold (* 128 1024 1024)) + +(setq load-prefer-newer t) + +(setq user-emacs-directory + (expand-file-name ".." (file-name-directory (file-truename load-file-name)))) + +(load (expand-file-name "init.el" user-emacs-directory)) + 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 @@ +;; -*- lexical-binding: t -*- +;; Copyright © 2018-2025 Uko Koknevics + +;; Shutdown GC during initialisation +;; It will be replaced by GCMH :) +(setq gc-cons-threshold most-positive-fixnum) + +;; Disable package.el in favour of elpaca +(setq package-enable-at-startup nil) + +;; UTF-8 duh +(set-language-environment "UTF-8") +(setq selection-coding-system 'utf-8 + default-input-method nil) + +(setq user-emacs-directory (file-name-directory load-file-name)) + +(add-to-list 'load-path (expand-file-name "arkta" user-emacs-directory)) + +(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 @@ +;; -*- lexical-binding: t -*- +;; Copyright © 2018-2025 Uko Koknevics + +;; Make sure early-init has been loaded. +(unless (boundp 'loaded-early-init) + (load (expand-file-name "early-init" (file-name-directory load-file-name)) nil t)) + +(when (version< emacs-version "29.1") + (error "Using %s. Minimum supported version is 29.1." + (emacs-version))) + +(setq-default user-full-name "Uko Kokņevičs" + user-email-address "perkontevs@gmail.com") + +(defconst +emacs29+ (version< emacs-version "30.0")) + +(defconst +linux+ (eq system-type 'gnu/linux)) +(defconst +mac+ (eq system-type 'darwin)) +(defconst +bsd+ (or +mac+ (eq system-type 'berkeley-unix))) +(defconst +windows+ (memq system-type '(cygwin windows-nt ms-dos))) + +(defconst base-dir user-emacs-directory) +(defconst local-dir (expand-file-name "local" base-dir)) +(defconst local-config-dir (expand-file-name "config" local-dir)) +(defconst tmp-dir (expand-file-name "tmp" local-dir)) +(defconst shared-dir (expand-file-name "shared" base-dir)) + +;; TODO: Check how to do add smth like `:advice (fn :around advice)` sometime +(require 'use-package) +(use-package use-package) + +;; Early configurations +(setq shared-game-score-directory (expand-file-name "shared-game-score" shared-dir)) + +(use-package cus-edit + :defer t + :custom + (custom-file (expand-file-name "custom.el" shared-dir))) + +(defun $adv-write-to-sane-paths (fn &rest args) + "Write 3rd party files to `local-config-dir` to keep `user-emacs-directory` clean." + (let ((user-emacs-directory local-config-dir) + (user-init-file custom-file)) + (apply fn args))) + +(use-package files + :defer t + :custom + (auto-mode-case-fold nil) + (auto-save-file-name-transforms `((".*" ,tmp-dir t))) + (backup-directory-alist `((".*" . ,tmp-dir))) + (major-mode-remap-alist '((c-mode . c-ts-mode) + (c-or-c++-mode . c-or-c++-ts-mode) + (c++-mode . c++-ts-mode) + (cmake-mode . cmake-ts-mode) + (csharp-mode . csharp-ts-mode) + (css-mode . css-ts-mode) + (dockerfile-mode . dockerfile-ts-mode) + (go-mode . go-ts-mode) + (go-mod-mode . go-mod-ts-mode) + (html-mode . mhtml-mode) + (java-mode . java-ts-mode) + (js-mode . js-ts-mode) + (json-mode . json-ts-mode) + (python-mode . python-ts-mode) + (ruby-mode . ruby-ts-mode) + (rust-mode . rust-ts-mode) + (yaml-mode . yaml-ts-mode) + (toml-mode . toml-ts-mode) + (tsx-mode . tsx-ts-mode) + (typescript-mode . typescript-ts-mode))) + :config + (advice-add #'locate-user-emacs-file :around #'$adv-write-to-sane-paths)) + +(use-package novice + :defer t + :config + (advice-add #'enable-command :around #'$adv-write-to-sane-paths) + (advice-add #'disable-command :around #'$adv-write-to-sane-paths)) + +;; Improve Emacs security somewhat +(setq gnutls-min-prime-bits 3072 + gnutls-verify-error (and (fboundp 'gnutls-available-p) + (gnutls-available-p) + (not (getenv-internal "INSECURE"))) + tls-checktrust gnutls-verify-error + tls-program '("openssl s_client -connect %h:%p -CAfile %t -nbio -no_ssl3 -no_tls1 -no_tls1_1 -ign_eof" + "gnutls-cli -p %p --dh-bits=3072 --ocsp --x509cafile=%t --strict-tofu --priority='SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3' %h" + "gnutls-cli -p %p %h")) + +(when (boundp 'libgnutls-version) + (setq gnutls-algorithm-priority + (concat "SECURE128:+SECURE192:-VERS-ALL" + (if (and (not +windows+) + (>= libgnutls-version 30605)) + ":+VERS-TLS1.3:+VERS-TLS1.2" + ":+VERS-TLS1.2")))) + +(when +mac+ + (setq mac-option-modifier 'meta + mac-command-modifier 'super)) + +(when (file-exists-p custom-file) + (add-hook 'elpaca-after-init-hook (lambda () (load custom-file 'noerror)))) + +(use-package auth-source + :defer t + :custom + ;; Make sure authinfo is GPG'd + (auth-sources (list (expand-file-name "authinfo.gpg" local-config-dir) + "~/.authinfo.gpg"))) + +(use-package ffap + :defer t + :custom + ;; Don't ping random stuff + (ffap-machine-p-known 'reject)) + +(use-package startup + :defer t + :custom + (inhibit-default-init t) + (inhibit-startup-echo-area-message user-login-name) + (inhibit-startup-screen t) + (initial-major-mode 'fundamental-mode) + (initial-scratch-message nil)) + +;; Don't draw stuff in other windows. +(setq-default cursor-in-non-selected-windows nil) +(setq highlight-nonselected-windows nil) + +;; Faster scrolling +(setq fast-but-imprecise-scrolling t) + +;; Inhibit frame resizing +(setq frame-inhibit-implied-resize t) + +;; Don’t compact font caches during GC. +(setq inhibit-compacting-font-caches t) + +(setq read-process-output-max (* 64 1024)) + +;; Don't fontify if stuck on reading input +(setq redisplay-skip-fontification-on-input t) + +(when +windows+ + (setq w32-get-true-file-attributes nil + w32-pipe-read-delay 0 + w32-pipe-buffer-size read-process-output-max)) + +;; Install elpaca +(progn + (defvar elpaca-installer-version 0.11) + (defvar elpaca-directory (expand-file-name "elpaca/" local-dir)) + (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) + (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) + (defvar elpaca-lock-file (expand-file-name "elpaca-lock.el" shared-dir)) + (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" + :ref nil :depth 1 :inherit ignore + :files (:defaults "elpaca-test.el" (:exclude "extensions")) + :build (:not elpaca--activate-package))) + (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) + (build (expand-file-name "elpaca/" elpaca-builds-directory)) + (order (cdr elpaca-order)) + (default-directory repo)) + (add-to-list 'load-path (if (file-exists-p build) build repo)) + (unless (file-exists-p repo) + (make-directory repo t) + (when (<= emacs-major-version 28) (require 'subr-x)) + (condition-case-unless-debug err + (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) + ((zerop (apply #'call-process `("git" nil ,buffer t "clone" + ,@(when-let* ((depth (plist-get order :depth))) + (list (format "--depth=%d" depth) "--no-single-branch")) + ,(plist-get order :repo) ,repo)))) + ((zerop (call-process "git" nil buffer t "checkout" + (or (plist-get order :ref) "--")))) + (emacs (concat invocation-directory invocation-name)) + ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" + "--eval" "(byte-recompile-directory \".\" 0 'force)"))) + ((require 'elpaca)) + ((elpaca-generate-autoloads "elpaca" repo))) + (progn (message "%s" (buffer-string)) (kill-buffer buffer)) + (error "%s" (with-current-buffer buffer (buffer-string)))) + ((error) (warn "%s" err) (delete-directory repo 'recursive)))) + (unless (require 'elpaca-autoloads nil t) + (require 'elpaca) + (elpaca-generate-autoloads "elpaca" repo) + (let ((load-source-file-function nil)) (load "./elpaca-autoloads")))) + (add-hook 'after-init-hook #'elpaca-process-queues) + (elpaca `(,@elpaca-order)) + (when +windows+ + (elpaca-no-symlink-mode))) + +(progn + (elpaca elpaca-use-package + (elpaca-use-package-mode)) + (elpaca-wait)) + +;; Builtins that I update with elpaca. +;; Consider adding some to elpaca-ignored-dependencies if problems arise. +(progn + (defun arkta/elpaca-build-with-unload (pkg) + (append (butlast (if (file-exists-p (file-name-concat elpaca-builds-directory + (symbol-name pkg))) + elpaca--pre-built-steps + elpaca-build-steps)) + (list `(lambda (e) + (when (featurep ',pkg) + (unload-feature ',pkg t)) + (elpaca--continue-build e)) + 'elpaca--activate-package))) + (use-package seq + :ensure `(seq :build ,(arkta/elpaca-build-with-unload 'seq))) + (use-package transient + :ensure `(transient :build ,(arkta/elpaca-build-with-unload 'transient)))) + +(defun arkta/update-packages () + (interactive) + (elpaca-update-all) + (elpaca-write-lock-file elpaca-lock-file)) + +(defun arkta/fix-versions () + (interactive) + (elpaca-write-lock-file elpaca-lock-file)) + +;; compat +(use-package compat-30 + :if +emacs29+ + :ensure 'compat) + +;; Helper functions +(defmacro defsetter (name &rest emacs-names) + (let ((name (intern (concat "set-" (symbol-name name))))) + `(defun ,name (value &optional default) + (if default + (progn + ,@(mapcar (lambda (name) `(setq-default ,name value)) emacs-names)) + ,@(mapcar (lambda (name) `(setq ,name value)) emacs-names))))) + +(defsetter fill-width fill-column) +(defsetter tab-usage indent-tabs-mode) +(defsetter tab-width c-basic-offset nasm-offset standard-indent tab-width) + +;; Miscellany + +(set-fill-width 120 t) +(set-tab-usage nil t) +(set-tab-width 4 t) + +;; HIC SVNT DRACONES + +(require 'arkta-cosmetic) +(require 'arkta-progmodes) +(require 'arkta-project) + +(use-package ace-window + :ensure t + :bind (([remap other-window] . ace-window) + ("C-x o" . ace-window))) + +(use-package amx + :ensure t + :config + (amx-mode +1)) + +(use-package company + :ensure t + :custom + (company-format-margin-function #'company-text-icons-margin) + (company-text-face-extra-attributes '(:weight bold)) + (company-text-icons-add-background t) + (company-tooltip-flip-when-above nil) + (company-tooltip-limit 6) + (company-tooltip-minimum 6) + (company-tooltip-offset-display 'lines) + :config + (global-company-mode +1)) + +(use-package compile + :ensure nil + :bind (("C-c k" . compile)) + :custom + (compilation-scroll-output 'first-error)) + +(use-package copyright + :ensure nil + :init + (defun arkta/maybe-fix-copyright () + (save-mark-and-excursion + (copyright-update) + (copyright-fix-years))) + :hook (before-save . arkta/maybe-fix-copyright) + :custom + (copyright-names-regexp "Eris\\|Ukko\\|Uko\\|Free Software") + (copyright-year-ranges t)) + +(use-package counsel + :ensure t + :after amx + :config + (counsel-mode +1)) + +(use-package dashboard + :ensure t + :demand t + :hook (server-after-make-frame . dashboard-open) + :custom + (dashboard-center-content nil) + (dashboard-startup-banner (expand-file-name "logo.png" user-emacs-directory)) + (dashboard-items '((projects . 5) (recents . 5) (bookmarks . 5))) + (dashboard-projects-backend 'project-el) + (dashboard-remove-missing-entry nil) + (dashboard-set-heading-icons t) + (dashboard-set-file-icons t) + (dashboard-set-init-info t) + :config + (dashboard-setup-startup-hook)) + +(use-package editorconfig + :ensure t + :config + (editorconfig-mode +1)) + +(use-package eglot + :ensure nil + :hook ((gdscript-mode go-ts-mode) . eglot-ensure) + :custom + (eglot-ignored-server-capabilities '(:documentFormattingProvider + :documentRangeFormattingProvider + :documentOnTypeFormattingProvider)) + (eglot-autoshutdown t)) + +(use-package elpher + :ensure t + :commands (elpher) + :custom (elpher-default-url-type "gemini")) + +(use-package envrc + :when nil + :ensure t + ;; This actually has to be hooked to after-init to be one of the first minor modes enabled + :hook (elpaca-after-init . envrc-global-mode)) + +(use-package forge + :ensure t + :after magit) + +(use-package gcmh + :ensure t + :custom + (gcmh-idle-delay 'auto) + (gcmh-auto-idle-delay-factor 10) + (gcmh-high-cons-threshold (* 16 1024 1024)) + :config + (gcmh-mode +1)) + +(use-package ibuffer + :ensure nil + :bind (("C-x C-b" . ibuffer) + ([remap list-buffers] . ibuffer))) + +(use-package ivy + :ensure t + :after (counsel swiper) + :demand t + :bind (("C-c r" . ivy-resume) + ("C-c v" . ivy-push-view) + ("C-c V" . ivy-pop-view)) + :custom + (ivy-use-virtual-buffers t) + (ivy-count-format "(%d/%d) ") + :config + (ivy-mode +1)) + +(use-package magit + ;; TODO: Do some proper setup + :ensure t) + +(use-package simple + :ensure nil + :hook ((text-mode . turn-on-auto-fill) + (before-save . delete-trailing-whitespace)) + :custom + (backward-delete-char-untabify-method nil)) + +(use-package swiper + :ensure t + :bind (([remap isearch-forward] . swiper-isearch) + ([remap isearch-backward] . swiper-isearch-backward) + ("C-s" . swiper-isearch) + ("C-r" . swiper-isearch-backward))) + +(use-package treemacs + :ensure t + :commands (treemacs treemacs-select-window) + :custom + (treemacs-select-when-already-in-treemacs 'next-or-back) + :bind (("C-c SPC" . treemacs-select-window) + ("C-c C-SPC" . treemacs-select-window))) + +(use-package treesit + :ensure nil + :config + (setq treesit-extra-load-path + (list (expand-file-name "tree-sitter" local-config-dir))) + (setq treesit-language-source-alist + '((c "https://github.com/tree-sitter/tree-sitter-c.git") + (cmake "https://github.com/uyha/tree-sitter-cmake.git") + (cpp "https://github.com/tree-sitter/tree-sitter-cpp.git") + (c-sharp "https://github.com/tree-sitter/tree-sitter-c-sharp.git") + (css "https://github.com/tree-sitter/tree-sitter-css.git") + (dockerfile "https://github.com/camdencheek/tree-sitter-dockerfile.git") + (go "https://github.com/tree-sitter/tree-sitter-go.git") + (gomod "https://github.com/camdencheek/tree-sitter-go-mod.git") + (java "https://github.com/tree-sitter/tree-sitter-java.git") + (javascript "https://github.com/tree-sitter/tree-sitter-javascript.git") + (json "https://github.com/tree-sitter/tree-sitter-json.git") + (kotlin "https://github.com/fwcd/tree-sitter-kotlin") + (python "https://github.com/tree-sitter/tree-sitter-python.git") + (ruby "https://github.com/tree-sitter/tree-sitter-ruby.git") + (rust "https://github.com/tree-sitter/tree-sitter-rust.git") + (toml "https://github.com/ikatyang/tree-sitter-toml.git") + (tsx "https://github.com/tree-sitter/tree-sitter-typescript.git" nil "tsx/src") + (typescript "https://github.com/tree-sitter/tree-sitter-typescript.git" nil "typescript/src") + (typst "https://github.com/uben0/tree-sitter-typst") + (yaml "https://github.com/ikatyang/tree-sitter-yaml.git"))) + (mapc (lambda (spec) + (let ((name (car spec))) + (unless (treesit-language-available-p name) + (treesit-install-language-grammar name)))) + treesit-language-source-alist)) + +(use-package warnings + :ensure nil + :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 Binary files /dev/null and b/emacs/.config/emacs/logo.png 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 @@ +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(custom-safe-themes + '("fbf73690320aa26f8daffdd1210ef234ed1b0c59f3d001f342b9c0bbf49f531c" default)) + '(safe-local-variable-values + '((buffer-file-coding-system . utf-8-unix) + (buffer-file-coding-system . cp437-dos)))) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) +(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 @@ +((ace-window :source "elpaca-menu-lock-file" :recipe + (:package "ace-window" :repo "abo-abo/ace-window" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "77115afc1b0b9f633084cf7479c767988106c196")) + (adoc-mode :source "elpaca-menu-lock-file" :recipe + (:package "adoc-mode" :fetcher github :repo "bbatsov/adoc-mode" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "20772277b8a5b8c08d49bd03043d5d4dd7a815e9")) + (amx :source "elpaca-menu-lock-file" :recipe + (:package "amx" :repo "DarwinAwardWinner/amx" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "5b3aa1aae84f4a225cb8d26ab79a32f97693f023")) + (auto-compile :source "elpaca-menu-lock-file" :recipe + (:package "auto-compile" :repo "emacscollective/auto-compile" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "b9e5df6f6d3f57263d6b22f2401f776380a37778")) + (avy :source "elpaca-menu-lock-file" :recipe + (:package "avy" :repo "abo-abo/avy" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "933d1f36cca0f71e4acb5fac707e9ae26c536264")) + (centaur-tabs :source "elpaca-menu-lock-file" :recipe + (:package "centaur-tabs" :repo "ema2159/centaur-tabs" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a790dc8fb6215e28685643e4d79252287adfde24")) + (cfrs :source "elpaca-menu-lock-file" :recipe + (:package "cfrs" :repo "Alexander-Miller/cfrs" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121")) + (closql :source "elpaca-menu-lock-file" :recipe + (:package "closql" :fetcher github :repo "magit/closql" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "05a2b048fd4e5c90aa971479cb9e71cf9aeba2bf")) + (company :source "elpaca-menu-lock-file" :recipe + (:package "company" :fetcher github :repo "company-mode/company-mode" :files + (:defaults "icons" + ("images/small" "doc/images/small/*.png")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1924eabfa7438974da0500e85fff5fb32c27282c")) + (company-mlton :source "elpaca-menu-lock-file" :recipe + (:source nil :protocol https :inherit t :depth treeless :host github :repo "MatthewFluet/company-mlton" :package "company-mlton" :ref "9b09d209b4767a2af24784fb5321390ed1d445bf")) + (compat :source "elpaca-menu-lock-file" :recipe + (:package "compat" :repo + ("https://github.com/emacs-compat/compat" . "compat") + :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "cccd41f549fa88031a32deb26253b462021d7e12")) + (counsel :source "elpaca-menu-lock-file" :recipe + (:package "counsel" :repo "abo-abo/swiper" :fetcher github :files + ("counsel.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e")) + (dart-mode :source "elpaca-menu-lock-file" :recipe + (:package "dart-mode" :fetcher github :repo "emacsorphanage/dart-mode" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f82ff052309125b93d19bdd3f619266f908f43ce")) + (dash :source "elpaca-menu-lock-file" :recipe + (:package "dash" :fetcher github :repo "magnars/dash.el" :files + ("dash.el" "dash.texi") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fcb5d831fc08a43f984242c7509870f30983c27c")) + (dashboard :source "elpaca-menu-lock-file" :recipe + (:package "dashboard" :fetcher github :repo "emacs-dashboard/emacs-dashboard" :files + (:defaults "banners") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f07661b39bec3683cf9edb7b1c58f6e658b6f764")) + (doom-modeline :source "elpaca-menu-lock-file" :recipe + (:package "doom-modeline" :repo "seagle0128/doom-modeline" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a85cb28da8bcb29be232e21879f0f5a1e8551b8c")) + (ebuild-mode :source "elpaca-menu-lock-file" :recipe + (:source nil :protocol https :inherit t :depth treeless :host github :repo "emacsmirror/ebuild-mode" :package "ebuild-mode" :ref "1dd08c89bc71ca802daaa05cfdc7f028b7254159")) + (editorconfig :source "elpaca-menu-lock-file" :recipe + (:package "editorconfig" :fetcher github :repo "editorconfig/editorconfig-emacs" :old-names + (editorconfig-core editorconfig-fnmatch) + :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "d2beb3ec2e7f84505818594124a7202d5d6d0185")) + (elixir-mode :source "elpaca-menu-lock-file" :recipe + (:package "elixir-mode" :fetcher github :repo "elixir-editors/emacs-elixir" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "00d6580a040a750e019218f9392cf9a4c2dac23a")) + (elpaca :source "elpaca-menu-lock-file" :recipe + (:source nil :protocol https :inherit ignore :depth treeless :repo "https://github.com/progfolio/elpaca.git" :ref "029d4b477b13fe675b0cf41099e44b177e5760ff" :files + (:defaults "elpaca-test.el" + (:exclude "extensions")) + :build + (:not elpaca--activate-package) + :package "elpaca")) + (elpaca-use-package :source "elpaca-menu-lock-file" :recipe + (:package "elpaca-use-package" :wait t :repo "https://github.com/progfolio/elpaca.git" :files + ("extensions/elpaca-use-package.el") + :main "extensions/elpaca-use-package.el" :build + (:not elpaca--compile-info) + :source "Elpaca extensions" :protocol https :inherit t :depth treeless :ref "029d4b477b13fe675b0cf41099e44b177e5760ff")) + (elpher :source "elpaca-menu-lock-file" :recipe + (:package "elpher" :url "https://thelambdalab.xyz/git/elpher.git" :fetcher git :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "972a069f240f071a79da23c98d3519df45bb5851")) + (emacsql :source "elpaca-menu-lock-file" :recipe + (:package "emacsql" :fetcher github :repo "magit/emacsql" :files + (:defaults "README.md" "sqlite") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "ced062890061b6e4fbe4d00c0617f7ff84fff25c")) + (emojify :source "elpaca-menu-lock-file" :recipe + (:package "emojify" :fetcher github :repo "iqbalansari/emacs-emojify" :files + (:defaults "data" "images") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1b726412f19896abf5e4857d4c32220e33400b55")) + (envrc :source "elpaca-menu-lock-file" :recipe + (:package "envrc" :fetcher github :repo "purcell/envrc" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "cb5f6d2a4217c1e2cc963072aaa5ecfe257ab378")) + (f :source "elpaca-menu-lock-file" :recipe + (:package "f" :fetcher github :repo "rejeep/f.el" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "931b6d0667fe03e7bf1c6c282d6d8d7006143c52")) + (forge :source "elpaca-menu-lock-file" :recipe + (:package "forge" :fetcher github :repo "magit/forge" :files + ("lisp/*.el" "docs/*.texi" ".dir-locals.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c498fed98a6df8adca33e87433b4084c0340fb4a")) + (gcmh :source "elpaca-menu-lock-file" :recipe + (:package "gcmh" :repo "koral/gcmh" :fetcher gitlab :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9")) + (gdscript-mode :source "elpaca-menu-lock-file" :recipe + (:package "gdscript-mode" :fetcher github :repo "godotengine/emacs-gdscript-mode" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "5136be407a3479ad1fb944acdd36b065833f48f6")) + (ghub :source "elpaca-menu-lock-file" :recipe + (:package "ghub" :fetcher github :repo "magit/ghub" :files + ("lisp/*.el" "docs/*.texi" ".dir-locals.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "00c6a23417050798ccff2f4f89660ec5e8a2ceb9")) + (git-gutter :source "elpaca-menu-lock-file" :recipe + (:package "git-gutter" :repo "emacsorphanage/git-gutter" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "21b171923baf8d4ae6f662548ebe11b527cf2e7e")) + (groovy-mode :source "elpaca-menu-lock-file" :recipe + (:package "groovy-mode" :fetcher github :repo "Groovy-Emacs-Modes/groovy-emacs-modes" :files + ("*groovy*.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7b8520b2e2d3ab1d62b35c426e17ac25ed0120bb")) + (haskell-mode :source "elpaca-menu-lock-file" :recipe + (:package "haskell-mode" :repo "haskell/haskell-mode" :fetcher github :files + (:defaults "NEWS" "logo.svg") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2e08ba771ffdc46d082b2285c534afdb12efb941")) + (hl-todo :source "elpaca-menu-lock-file" :recipe + (:package "hl-todo" :repo "tarsius/hl-todo" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7ed8bbcadb5229d648b194e0e4c4d261825aa91b")) + (ht :source "elpaca-menu-lock-file" :recipe + (:package "ht" :fetcher github :repo "Wilfred/ht.el" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "1c49aad1c820c86f7ee35bf9fff8429502f60fef")) + (htmlize :source "elpaca-menu-lock-file" :recipe + (:package "htmlize" :fetcher github :repo "hniksic/emacs-htmlize" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "8e3841c837b4b78bd72ad7f0436e919f39315a46")) + (hydra :source "elpaca-menu-lock-file" :recipe + (:package "hydra" :repo "abo-abo/hydra" :fetcher github :files + (:defaults + (:exclude "lv.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "59a2a45a35027948476d1d7751b0f0215b1e61aa")) + (inheritenv :source "elpaca-menu-lock-file" :recipe + (:package "inheritenv" :fetcher github :repo "purcell/inheritenv" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "b9e67cc20c069539698a9ac54d0e6cc11e616c6f")) + (ivy :source "elpaca-menu-lock-file" :recipe + (:package "ivy" :repo "abo-abo/swiper" :fetcher github :files + (:defaults "doc/ivy-help.org" + (:exclude "swiper.el" "counsel.el" "ivy-hydra.el" "ivy-avy.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e")) + (kotlin-ts-mode :source "elpaca-menu-lock-file" :recipe + (:package "kotlin-ts-mode" :fetcher gitlab :repo "bricka/emacs-kotlin-ts-mode" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "051c9ef534956c235343fb41546623ff87a1695b")) + (llama :source "elpaca-menu-lock-file" :recipe + (:package "llama" :fetcher github :repo "tarsius/llama" :files + ("llama.el" ".dir-locals.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "6a67e4253cc02aa9ce85ef96290c95198b65d913")) + (lua-mode :source "elpaca-menu-lock-file" :recipe + (:package "lua-mode" :repo "immerrr/lua-mode" :fetcher github :files + (:defaults + (:exclude "init-tryout.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2f6b8d7a6317e42c953c5119b0119ddb337e0a5f")) + (lv :source "elpaca-menu-lock-file" :recipe + (:package "lv" :repo "abo-abo/hydra" :fetcher github :files + ("lv.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "59a2a45a35027948476d1d7751b0f0215b1e61aa")) + (macrostep :source "elpaca-menu-lock-file" :recipe + (:package "macrostep" :fetcher github :repo "emacsorphanage/macrostep" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "d0928626b4711dcf9f8f90439d23701118724199")) + (magit :source "elpaca-menu-lock-file" :recipe + (:package "magit" :fetcher github :repo "magit/magit" :files + ("lisp/magit*.el" "lisp/git-*.el" "docs/magit.texi" "docs/AUTHORS.md" "LICENSE" ".dir-locals.el" + (:exclude "lisp/magit-section.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a4f73fb2fb55f7644a80b4442379ef43840ec5e9")) + (magit-section :source "elpaca-menu-lock-file" :recipe + (:package "magit-section" :fetcher github :repo "magit/magit" :files + ("lisp/magit-section.el" "docs/magit-section.texi" "magit-section-pkg.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a4f73fb2fb55f7644a80b4442379ef43840ec5e9")) + (markdown-mode :source "elpaca-menu-lock-file" :recipe + (:package "markdown-mode" :fetcher github :repo "jrblevin/markdown-mode" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7c51a2167c5a1330e0ab52fe5b2d03c1ead122ca")) + (modus-themes :source "elpaca-menu-lock-file" :recipe + (:package "modus-themes" :fetcher github :repo "protesilaos/modus-themes" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "3550360e88b33b3a8f5f271a1d05afa27ffe54aa")) + (nasm-mode :source "elpaca-menu-lock-file" :recipe + (:package "nasm-mode" :repo "skeeto/nasm-mode" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "4e670f6dededab858251670aa5459c950f78d867")) + (nerd-icons :source "elpaca-menu-lock-file" :recipe + (:package "nerd-icons" :repo "rainstormstudio/nerd-icons.el" :fetcher github :files + (:defaults "data") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "4476b4cabe63f5efafa3c0a8b370db4f6a92e90c")) + (nix-mode :source "elpaca-menu-lock-file" :recipe + (:package "nix-mode" :fetcher github :repo "NixOS/nix-mode" :files + (:defaults + (:exclude "nix-company.el" "nix-mode-mmm.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "719feb7868fb567ecfe5578f6119892c771ac5e5")) + (pfuture :source "elpaca-menu-lock-file" :recipe + (:package "pfuture" :repo "Alexander-Miller/pfuture" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "19b53aebbc0f2da31de6326c495038901bffb73c")) + (php-mode :source "elpaca-menu-lock-file" :recipe + (:package "php-mode" :repo "emacs-php/php-mode" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "40b8abed3079771e060dd99a56703520dabf5be4")) + (pico8-mode :source "elpaca-menu-lock-file" :recipe + (:source nil :protocol https :inherit t :depth treeless :host github :repo "Kaali/pico8-mode" :package "pico8-mode" :ref "e276c65352f294679af62148df41f36dac744426")) + (posframe :source "elpaca-menu-lock-file" :recipe + (:package "posframe" :fetcher github :repo "tumashu/posframe" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "12f540c9ad5da09673b2bca1132b41f94c134e82")) + (powerline :source "elpaca-menu-lock-file" :recipe + (:package "powerline" :fetcher github :repo "milkypostman/powerline" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c35c35bdf5ce2d992882c1f06f0f078058870d4a")) + (proof-general :source "elpaca-menu-lock-file" :recipe + (:package "proof-general" :fetcher github :repo "ProofGeneral/PG" :files + (:defaults "CHANGES" "AUTHORS" "COPYING" "generic" "images" "lib" + ("coq" "coq/*.el") + "easycrypt" "phox" "qrhl" "pghaskell" "pgocaml" "pgshell") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "999cafbe7320ae887f7eebd441beab7e5b0ae6eb")) + (racket-mode :source "elpaca-menu-lock-file" :recipe + (:package "racket-mode" :fetcher github :repo "greghendershott/racket-mode" :files + (:defaults "*.rkt" + ("racket" "racket/*") + (:exclude "racket/example/*" "racket/test/*")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "4395797ff130fcdcc9750fb2456d4f762d56852f")) + (rainbow-delimiters :source "elpaca-menu-lock-file" :recipe + (:package "rainbow-delimiters" :fetcher github :repo "Fanael/rainbow-delimiters" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f40ece58df8b2f0fb6c8576b527755a552a5e763")) + (rainbow-mode :source "elpaca-menu-lock-file" :recipe + (:package "rainbow-mode" :repo + ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "rainbow-mode") + :branch "externals/rainbow-mode" :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f7db3b5919f70420a91eb199f8663468de3033f3")) + (reformatter :source "elpaca-menu-lock-file" :recipe + (:package "reformatter" :repo "purcell/emacs-reformatter" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "6ac08cebafb9e04b825ed22d82269ff69cc5f87f")) + (s :source "elpaca-menu-lock-file" :recipe + (:package "s" :fetcher github :repo "magnars/s.el" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "dda84d38fffdaf0c9b12837b504b402af910d01d")) + (scala-mode :source "elpaca-menu-lock-file" :recipe + (:package "scala-mode" :fetcher github :repo "hvesalai/emacs-scala-mode" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "661337d8aa0a0cb418184c83757661603de3b2e3")) + (seq :source "elpaca-menu-lock-file" :recipe + (:package "seq" :repo + ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "seq") + :branch "externals/seq" :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :build + (elpaca--queue-dependencies elpaca--add-info-path + (lambda + (e) + (when + (featurep 'seq) + (unload-feature 'seq t)) + (elpaca--continue-build e)) + elpaca--activate-package) + :ref "27a90793a13f149121180e864fa53d68b9eac0b3")) + (shrink-path :source "elpaca-menu-lock-file" :recipe + (:package "shrink-path" :fetcher gitlab :repo "bennya/shrink-path.el" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c14882c8599aec79a6e8ef2d06454254bb3e1e41")) + (slime :source "elpaca-menu-lock-file" :recipe + (:package "slime" :fetcher github :repo "slime/slime" :files + ("*.el" + ("lib" "lib/hyperspec.el") + "swank" "*.lisp" "*.asd" "doc/slime.texi" "doc/slime.info" "doc/dir" "ChangeLog" + ("contrib" "contrib/*") + (:exclude "contrib/test" "contrib/Makefile")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "a378958d3b1cfb0ec8e60ec5404b82dbd7dc55c5")) + (smalltalk-mode :source "elpaca-menu-lock-file" :recipe + (:package "smalltalk-mode" :repo + ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "smalltalk-mode") + :branch "externals/smalltalk-mode" :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f2e976fd395f36c95b9b0b44a22e027232f550ac")) + (sml-mode :source "elpaca-menu-lock-file" :recipe + (:package "sml-mode" :repo + ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "sml-mode") + :branch "externals/sml-mode" :files + ("*" + (:exclude ".git")) + :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "39ad5243eb761821e5342ed8cf1ba111d2492f48")) + (solaire-mode :source "elpaca-menu-lock-file" :recipe + (:package "solaire-mode" :repo "hlissner/emacs-solaire-mode" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "c9334666bd208f3322e6118d30eba1b2438e2bb9")) + (svelte-mode :source "elpaca-menu-lock-file" :recipe + (:package "svelte-mode" :fetcher github :repo "leafOfTree/svelte-mode" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "ac8fba901dc790976f9893e338c8ad1241b897c6")) + (swift-mode :source "elpaca-menu-lock-file" :recipe + (:package "swift-mode" :repo "swift-emacs/swift-mode" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "fc7df7bd906a2bb04aac6e0de47fc7acf33ceed3")) + (swiper :source "elpaca-menu-lock-file" :recipe + (:package "swiper" :repo "abo-abo/swiper" :fetcher github :files + ("swiper.el") + :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e")) + (transient :source "elpaca-menu-lock-file" :recipe + (:package "transient" :fetcher github :repo "magit/transient" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :build + (elpaca--queue-dependencies elpaca--add-info-path + (lambda + (e) + (when + (featurep 'transient) + (unload-feature 'transient t)) + (elpaca--continue-build e)) + elpaca--activate-package) + :ref "51915436f76ff262766d40bee3c84dfe3568d289")) + (treemacs :source "elpaca-menu-lock-file" :recipe + (:package "treemacs" :fetcher github :repo "Alexander-Miller/treemacs" :files + (:defaults "Changelog.org" "icons" "src/elisp/treemacs*.el" "src/scripts/treemacs*.py" + (:exclude "src/extra/*")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "7109ce99853b18435a77267a15c5dd06715b54e4")) + (treepy :source "elpaca-menu-lock-file" :recipe + (:package "treepy" :repo "volrath/treepy.el" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "651e2634f01f346da9ec8a64613c51f54b444bc3")) + (typst-ts-mode :source "elpaca-menu-lock-file" :recipe + (:package "typst-ts-mode" :repo + ("https://codeberg.org/meow_king/typst-ts-mode" . "typst-ts-mode") + :files + ("*" + (:exclude ".git")) + :source "NonGNU ELPA" :protocol https :inherit t :depth treeless :ref "972dc69d6b8a3f8983f6b8000654f59c8a8d05ba")) + (with-editor :source "elpaca-menu-lock-file" :recipe + (:package "with-editor" :fetcher github :repo "magit/with-editor" :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f32cd7b09d518b629bfaa3eeb92b539891c6b9bc")) + (yaml :source "elpaca-menu-lock-file" :recipe + (:package "yaml" :repo "zkry/yaml.el" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "f99ef76c80e6fc3fcf650c4fe34e10726594a4c4")) + (zig-mode :source "elpaca-menu-lock-file" :recipe + (:package "zig-mode" :repo "ziglang/zig-mode" :fetcher github :files + ("*.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" + (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) + :source "MELPA" :protocol https :inherit t :depth treeless :ref "9f86fded13e28c6c9ccf56d417276547bac7e54e"))) diff --git a/init.el b/init.el deleted file mode 100644 index 69dc9d1..0000000 --- a/init.el +++ /dev/null @@ -1,436 +0,0 @@ -;; -*- lexical-binding: t -*- -;; Copyright © 2018-2025 Uko Koknevics - -;; Make sure early-init has been loaded. -(unless (boundp 'loaded-early-init) - (load (expand-file-name "early-init" (file-name-directory load-file-name)) nil t)) - -(when (version< emacs-version "29.1") - (error "Using %s. Minimum supported version is 29.1." - (emacs-version))) - -(setq-default user-full-name "Uko Kokņevičs" - user-email-address "perkontevs@gmail.com") - -(defconst +emacs29+ (version< emacs-version "30.0")) - -(defconst +linux+ (eq system-type 'gnu/linux)) -(defconst +mac+ (eq system-type 'darwin)) -(defconst +bsd+ (or +mac+ (eq system-type 'berkeley-unix))) -(defconst +windows+ (memq system-type '(cygwin windows-nt ms-dos))) - -(defconst base-dir user-emacs-directory) -(defconst local-dir (expand-file-name "local" base-dir)) -(defconst local-config-dir (expand-file-name "config" local-dir)) -(defconst tmp-dir (expand-file-name "tmp" local-dir)) -(defconst shared-dir (expand-file-name "shared" base-dir)) - -;; TODO: Check how to do add smth like `:advice (fn :around advice)` sometime -(require 'use-package) -(use-package use-package) - -;; Early configurations -(setq shared-game-score-directory (expand-file-name "shared-game-score" shared-dir)) - -(use-package cus-edit - :defer t - :custom - (custom-file (expand-file-name "custom.el" shared-dir))) - -(defun $adv-write-to-sane-paths (fn &rest args) - "Write 3rd party files to `local-config-dir` to keep `user-emacs-directory` clean." - (let ((user-emacs-directory local-config-dir) - (user-init-file custom-file)) - (apply fn args))) - -(use-package files - :defer t - :custom - (auto-mode-case-fold nil) - (auto-save-file-name-transforms `((".*" ,tmp-dir t))) - (backup-directory-alist `((".*" . ,tmp-dir))) - (major-mode-remap-alist '((c-mode . c-ts-mode) - (c-or-c++-mode . c-or-c++-ts-mode) - (c++-mode . c++-ts-mode) - (cmake-mode . cmake-ts-mode) - (csharp-mode . csharp-ts-mode) - (css-mode . css-ts-mode) - (dockerfile-mode . dockerfile-ts-mode) - (go-mode . go-ts-mode) - (go-mod-mode . go-mod-ts-mode) - (html-mode . mhtml-mode) - (java-mode . java-ts-mode) - (js-mode . js-ts-mode) - (json-mode . json-ts-mode) - (python-mode . python-ts-mode) - (ruby-mode . ruby-ts-mode) - (rust-mode . rust-ts-mode) - (yaml-mode . yaml-ts-mode) - (toml-mode . toml-ts-mode) - (tsx-mode . tsx-ts-mode) - (typescript-mode . typescript-ts-mode))) - :config - (advice-add #'locate-user-emacs-file :around #'$adv-write-to-sane-paths)) - -(use-package novice - :defer t - :config - (advice-add #'enable-command :around #'$adv-write-to-sane-paths) - (advice-add #'disable-command :around #'$adv-write-to-sane-paths)) - -;; Improve Emacs security somewhat -(setq gnutls-min-prime-bits 3072 - gnutls-verify-error (and (fboundp 'gnutls-available-p) - (gnutls-available-p) - (not (getenv-internal "INSECURE"))) - tls-checktrust gnutls-verify-error - tls-program '("openssl s_client -connect %h:%p -CAfile %t -nbio -no_ssl3 -no_tls1 -no_tls1_1 -ign_eof" - "gnutls-cli -p %p --dh-bits=3072 --ocsp --x509cafile=%t --strict-tofu --priority='SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3' %h" - "gnutls-cli -p %p %h")) - -(when (boundp 'libgnutls-version) - (setq gnutls-algorithm-priority - (concat "SECURE128:+SECURE192:-VERS-ALL" - (if (and (not +windows+) - (>= libgnutls-version 30605)) - ":+VERS-TLS1.3:+VERS-TLS1.2" - ":+VERS-TLS1.2")))) - -(when +mac+ - (setq mac-option-modifier 'meta - mac-command-modifier 'super)) - -(when (file-exists-p custom-file) - (add-hook 'elpaca-after-init-hook (lambda () (load custom-file 'noerror)))) - -(use-package auth-source - :defer t - :custom - ;; Make sure authinfo is GPG'd - (auth-sources (list (expand-file-name "authinfo.gpg" local-config-dir) - "~/.authinfo.gpg"))) - -(use-package ffap - :defer t - :custom - ;; Don't ping random stuff - (ffap-machine-p-known 'reject)) - -(use-package startup - :defer t - :custom - (inhibit-default-init t) - (inhibit-startup-echo-area-message user-login-name) - (inhibit-startup-screen t) - (initial-major-mode 'fundamental-mode) - (initial-scratch-message nil)) - -;; Don't draw stuff in other windows. -(setq-default cursor-in-non-selected-windows nil) -(setq highlight-nonselected-windows nil) - -;; Faster scrolling -(setq fast-but-imprecise-scrolling t) - -;; Inhibit frame resizing -(setq frame-inhibit-implied-resize t) - -;; Don’t compact font caches during GC. -(setq inhibit-compacting-font-caches t) - -(setq read-process-output-max (* 64 1024)) - -;; Don't fontify if stuck on reading input -(setq redisplay-skip-fontification-on-input t) - -(when +windows+ - (setq w32-get-true-file-attributes nil - w32-pipe-read-delay 0 - w32-pipe-buffer-size read-process-output-max)) - -;; Install elpaca -(progn - (defvar elpaca-installer-version 0.11) - (defvar elpaca-directory (expand-file-name "elpaca/" local-dir)) - (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) - (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) - (defvar elpaca-lock-file (expand-file-name "elpaca-lock.el" shared-dir)) - (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" - :ref nil :depth 1 :inherit ignore - :files (:defaults "elpaca-test.el" (:exclude "extensions")) - :build (:not elpaca--activate-package))) - (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) - (build (expand-file-name "elpaca/" elpaca-builds-directory)) - (order (cdr elpaca-order)) - (default-directory repo)) - (add-to-list 'load-path (if (file-exists-p build) build repo)) - (unless (file-exists-p repo) - (make-directory repo t) - (when (<= emacs-major-version 28) (require 'subr-x)) - (condition-case-unless-debug err - (if-let* ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) - ((zerop (apply #'call-process `("git" nil ,buffer t "clone" - ,@(when-let* ((depth (plist-get order :depth))) - (list (format "--depth=%d" depth) "--no-single-branch")) - ,(plist-get order :repo) ,repo)))) - ((zerop (call-process "git" nil buffer t "checkout" - (or (plist-get order :ref) "--")))) - (emacs (concat invocation-directory invocation-name)) - ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" - "--eval" "(byte-recompile-directory \".\" 0 'force)"))) - ((require 'elpaca)) - ((elpaca-generate-autoloads "elpaca" repo))) - (progn (message "%s" (buffer-string)) (kill-buffer buffer)) - (error "%s" (with-current-buffer buffer (buffer-string)))) - ((error) (warn "%s" err) (delete-directory repo 'recursive)))) - (unless (require 'elpaca-autoloads nil t) - (require 'elpaca) - (elpaca-generate-autoloads "elpaca" repo) - (let ((load-source-file-function nil)) (load "./elpaca-autoloads")))) - (add-hook 'after-init-hook #'elpaca-process-queues) - (elpaca `(,@elpaca-order)) - (when +windows+ - (elpaca-no-symlink-mode))) - -(progn - (elpaca elpaca-use-package - (elpaca-use-package-mode)) - (elpaca-wait)) - -;; Builtins that I update with elpaca. -;; Consider adding some to elpaca-ignored-dependencies if problems arise. -(progn - (defun arkta/elpaca-build-with-unload (pkg) - (append (butlast (if (file-exists-p (file-name-concat elpaca-builds-directory - (symbol-name pkg))) - elpaca--pre-built-steps - elpaca-build-steps)) - (list `(lambda (e) - (when (featurep ',pkg) - (unload-feature ',pkg t)) - (elpaca--continue-build e)) - 'elpaca--activate-package))) - (use-package seq - :ensure `(seq :build ,(arkta/elpaca-build-with-unload 'seq))) - (use-package transient - :ensure `(transient :build ,(arkta/elpaca-build-with-unload 'transient)))) - -(defun arkta/update-packages () - (interactive) - (elpaca-update-all) - (elpaca-write-lock-file elpaca-lock-file)) - -(defun arkta/fix-versions () - (interactive) - (elpaca-write-lock-file elpaca-lock-file)) - -;; compat -(use-package compat-30 - :if +emacs29+ - :ensure 'compat) - -;; Helper functions -(defmacro defsetter (name &rest emacs-names) - (let ((name (intern (concat "set-" (symbol-name name))))) - `(defun ,name (value &optional default) - (if default - (progn - ,@(mapcar (lambda (name) `(setq-default ,name value)) emacs-names)) - ,@(mapcar (lambda (name) `(setq ,name value)) emacs-names))))) - -(defsetter fill-width fill-column) -(defsetter tab-usage indent-tabs-mode) -(defsetter tab-width c-basic-offset nasm-offset standard-indent tab-width) - -;; Miscellany - -(set-fill-width 120 t) -(set-tab-usage nil t) -(set-tab-width 4 t) - -;; HIC SVNT DRACONES - -(require 'arkta-cosmetic) -(require 'arkta-progmodes) -(require 'arkta-project) - -(use-package ace-window - :ensure t - :bind (([remap other-window] . ace-window) - ("C-x o" . ace-window))) - -(use-package amx - :ensure t - :config - (amx-mode +1)) - -(use-package company - :ensure t - :custom - (company-format-margin-function #'company-text-icons-margin) - (company-text-face-extra-attributes '(:weight bold)) - (company-text-icons-add-background t) - (company-tooltip-flip-when-above nil) - (company-tooltip-limit 6) - (company-tooltip-minimum 6) - (company-tooltip-offset-display 'lines) - :config - (global-company-mode +1)) - -(use-package compile - :ensure nil - :bind (("C-c k" . compile)) - :custom - (compilation-scroll-output 'first-error)) - -(use-package copyright - :ensure nil - :init - (defun arkta/maybe-fix-copyright () - (save-mark-and-excursion - (copyright-update) - (copyright-fix-years))) - :hook (before-save . arkta/maybe-fix-copyright) - :custom - (copyright-names-regexp "Eris\\|Ukko\\|Uko\\|Free Software") - (copyright-year-ranges t)) - -(use-package counsel - :ensure t - :after amx - :config - (counsel-mode +1)) - -(use-package dashboard - :ensure t - :demand t - :hook (server-after-make-frame . dashboard-open) - :custom - (dashboard-center-content nil) - (dashboard-startup-banner (expand-file-name "logo.png" user-emacs-directory)) - (dashboard-items '((projects . 5) (recents . 5) (bookmarks . 5))) - (dashboard-projects-backend 'project-el) - (dashboard-remove-missing-entry nil) - (dashboard-set-heading-icons t) - (dashboard-set-file-icons t) - (dashboard-set-init-info t) - :config - (dashboard-setup-startup-hook)) - -(use-package editorconfig - :ensure t - :config - (editorconfig-mode +1)) - -(use-package eglot - :ensure nil - :hook ((gdscript-mode go-ts-mode) . eglot-ensure) - :custom - (eglot-ignored-server-capabilities '(:documentFormattingProvider - :documentRangeFormattingProvider - :documentOnTypeFormattingProvider)) - (eglot-autoshutdown t)) - -(use-package elpher - :ensure t - :commands (elpher) - :custom (elpher-default-url-type "gemini")) - -(use-package envrc - :when nil - :ensure t - ;; This actually has to be hooked to after-init to be one of the first minor modes enabled - :hook (elpaca-after-init . envrc-global-mode)) - -(use-package forge - :ensure t - :after magit) - -(use-package gcmh - :ensure t - :custom - (gcmh-idle-delay 'auto) - (gcmh-auto-idle-delay-factor 10) - (gcmh-high-cons-threshold (* 16 1024 1024)) - :config - (gcmh-mode +1)) - -(use-package ibuffer - :ensure nil - :bind (("C-x C-b" . ibuffer) - ([remap list-buffers] . ibuffer))) - -(use-package ivy - :ensure t - :after (counsel swiper) - :demand t - :bind (("C-c r" . ivy-resume) - ("C-c v" . ivy-push-view) - ("C-c V" . ivy-pop-view)) - :custom - (ivy-use-virtual-buffers t) - (ivy-count-format "(%d/%d) ") - :config - (ivy-mode +1)) - -(use-package magit - ;; TODO: Do some proper setup - :ensure t) - -(use-package simple - :ensure nil - :hook ((text-mode . turn-on-auto-fill) - (before-save . delete-trailing-whitespace)) - :custom - (backward-delete-char-untabify-method nil)) - -(use-package swiper - :ensure t - :bind (([remap isearch-forward] . swiper-isearch) - ([remap isearch-backward] . swiper-isearch-backward) - ("C-s" . swiper-isearch) - ("C-r" . swiper-isearch-backward))) - -(use-package treemacs - :ensure t - :commands (treemacs treemacs-select-window) - :custom - (treemacs-select-when-already-in-treemacs 'next-or-back) - :bind (("C-c SPC" . treemacs-select-window) - ("C-c C-SPC" . treemacs-select-window))) - -(use-package treesit - :ensure nil - :config - (setq treesit-extra-load-path - (list (expand-file-name "tree-sitter" local-config-dir))) - (setq treesit-language-source-alist - '((c "https://github.com/tree-sitter/tree-sitter-c.git") - (cmake "https://github.com/uyha/tree-sitter-cmake.git") - (cpp "https://github.com/tree-sitter/tree-sitter-cpp.git") - (c-sharp "https://github.com/tree-sitter/tree-sitter-c-sharp.git") - (css "https://github.com/tree-sitter/tree-sitter-css.git") - (dockerfile "https://github.com/camdencheek/tree-sitter-dockerfile.git") - (go "https://github.com/tree-sitter/tree-sitter-go.git") - (gomod "https://github.com/camdencheek/tree-sitter-go-mod.git") - (java "https://github.com/tree-sitter/tree-sitter-java.git") - (javascript "https://github.com/tree-sitter/tree-sitter-javascript.git") - (json "https://github.com/tree-sitter/tree-sitter-json.git") - (kotlin "https://github.com/fwcd/tree-sitter-kotlin") - (python "https://github.com/tree-sitter/tree-sitter-python.git") - (ruby "https://github.com/tree-sitter/tree-sitter-ruby.git") - (rust "https://github.com/tree-sitter/tree-sitter-rust.git") - (toml "https://github.com/ikatyang/tree-sitter-toml.git") - (tsx "https://github.com/tree-sitter/tree-sitter-typescript.git" nil "tsx/src") - (typescript "https://github.com/tree-sitter/tree-sitter-typescript.git" nil "typescript/src") - (typst "https://github.com/uben0/tree-sitter-typst") - (yaml "https://github.com/ikatyang/tree-sitter-yaml.git"))) - (mapc (lambda (spec) - (let ((name (car spec))) - (unless (treesit-language-available-p name) - (treesit-install-language-grammar name)))) - treesit-language-source-alist)) - -(use-package warnings - :ensure nil - :custom (warning-suppress-types '(comp))) diff --git a/logo.png b/logo.png deleted file mode 100644 index 20cdb36..0000000 Binary files a/logo.png and /dev/null differ diff --git a/shared/custom.el b/shared/custom.el deleted file mode 100644 index 5596e47..0000000 --- a/shared/custom.el +++ /dev/null @@ -1,17 +0,0 @@ -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(custom-safe-themes - '("fbf73690320aa26f8daffdd1210ef234ed1b0c59f3d001f342b9c0bbf49f531c" default)) - '(safe-local-variable-values - '((buffer-file-coding-system . utf-8-unix) - (buffer-file-coding-system . cp437-dos)))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) -(put 'upcase-region 'disabled nil) diff --git a/shared/elpaca-lock.el b/shared/elpaca-lock.el deleted file mode 100644 index 45756eb..0000000 --- a/shared/elpaca-lock.el +++ /dev/null @@ -1,412 +0,0 @@ -((ace-window :source "elpaca-menu-lock-file" :recipe - (:package "ace-window" :repo "abo-abo/ace-window" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "77115afc1b0b9f633084cf7479c767988106c196")) - (adoc-mode :source "elpaca-menu-lock-file" :recipe - (:package "adoc-mode" :fetcher github :repo "bbatsov/adoc-mode" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "20772277b8a5b8c08d49bd03043d5d4dd7a815e9")) - (amx :source "elpaca-menu-lock-file" :recipe - (:package "amx" :repo "DarwinAwardWinner/amx" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "5b3aa1aae84f4a225cb8d26ab79a32f97693f023")) - (auto-compile :source "elpaca-menu-lock-file" :recipe - (:package "auto-compile" :repo "emacscollective/auto-compile" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "b9e5df6f6d3f57263d6b22f2401f776380a37778")) - (avy :source "elpaca-menu-lock-file" :recipe - (:package "avy" :repo "abo-abo/avy" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "933d1f36cca0f71e4acb5fac707e9ae26c536264")) - (centaur-tabs :source "elpaca-menu-lock-file" :recipe - (:package "centaur-tabs" :repo "ema2159/centaur-tabs" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "a790dc8fb6215e28685643e4d79252287adfde24")) - (cfrs :source "elpaca-menu-lock-file" :recipe - (:package "cfrs" :repo "Alexander-Miller/cfrs" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121")) - (closql :source "elpaca-menu-lock-file" :recipe - (:package "closql" :fetcher github :repo "magit/closql" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "05a2b048fd4e5c90aa971479cb9e71cf9aeba2bf")) - (company :source "elpaca-menu-lock-file" :recipe - (:package "company" :fetcher github :repo "company-mode/company-mode" :files - (:defaults "icons" - ("images/small" "doc/images/small/*.png")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1924eabfa7438974da0500e85fff5fb32c27282c")) - (company-mlton :source "elpaca-menu-lock-file" :recipe - (:source nil :protocol https :inherit t :depth treeless :host github :repo "MatthewFluet/company-mlton" :package "company-mlton" :ref "9b09d209b4767a2af24784fb5321390ed1d445bf")) - (compat :source "elpaca-menu-lock-file" :recipe - (:package "compat" :repo - ("https://github.com/emacs-compat/compat" . "compat") - :files - ("*" - (:exclude ".git")) - :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "cccd41f549fa88031a32deb26253b462021d7e12")) - (counsel :source "elpaca-menu-lock-file" :recipe - (:package "counsel" :repo "abo-abo/swiper" :fetcher github :files - ("counsel.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e")) - (dart-mode :source "elpaca-menu-lock-file" :recipe - (:package "dart-mode" :fetcher github :repo "emacsorphanage/dart-mode" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f82ff052309125b93d19bdd3f619266f908f43ce")) - (dash :source "elpaca-menu-lock-file" :recipe - (:package "dash" :fetcher github :repo "magnars/dash.el" :files - ("dash.el" "dash.texi") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fcb5d831fc08a43f984242c7509870f30983c27c")) - (dashboard :source "elpaca-menu-lock-file" :recipe - (:package "dashboard" :fetcher github :repo "emacs-dashboard/emacs-dashboard" :files - (:defaults "banners") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f07661b39bec3683cf9edb7b1c58f6e658b6f764")) - (doom-modeline :source "elpaca-menu-lock-file" :recipe - (:package "doom-modeline" :repo "seagle0128/doom-modeline" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "a85cb28da8bcb29be232e21879f0f5a1e8551b8c")) - (ebuild-mode :source "elpaca-menu-lock-file" :recipe - (:source nil :protocol https :inherit t :depth treeless :host github :repo "emacsmirror/ebuild-mode" :package "ebuild-mode" :ref "1dd08c89bc71ca802daaa05cfdc7f028b7254159")) - (editorconfig :source "elpaca-menu-lock-file" :recipe - (:package "editorconfig" :fetcher github :repo "editorconfig/editorconfig-emacs" :old-names - (editorconfig-core editorconfig-fnmatch) - :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "d2beb3ec2e7f84505818594124a7202d5d6d0185")) - (elixir-mode :source "elpaca-menu-lock-file" :recipe - (:package "elixir-mode" :fetcher github :repo "elixir-editors/emacs-elixir" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "00d6580a040a750e019218f9392cf9a4c2dac23a")) - (elpaca :source "elpaca-menu-lock-file" :recipe - (:source nil :protocol https :inherit ignore :depth treeless :repo "https://github.com/progfolio/elpaca.git" :ref "029d4b477b13fe675b0cf41099e44b177e5760ff" :files - (:defaults "elpaca-test.el" - (:exclude "extensions")) - :build - (:not elpaca--activate-package) - :package "elpaca")) - (elpaca-use-package :source "elpaca-menu-lock-file" :recipe - (:package "elpaca-use-package" :wait t :repo "https://github.com/progfolio/elpaca.git" :files - ("extensions/elpaca-use-package.el") - :main "extensions/elpaca-use-package.el" :build - (:not elpaca--compile-info) - :source "Elpaca extensions" :protocol https :inherit t :depth treeless :ref "029d4b477b13fe675b0cf41099e44b177e5760ff")) - (elpher :source "elpaca-menu-lock-file" :recipe - (:package "elpher" :url "https://thelambdalab.xyz/git/elpher.git" :fetcher git :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "972a069f240f071a79da23c98d3519df45bb5851")) - (emacsql :source "elpaca-menu-lock-file" :recipe - (:package "emacsql" :fetcher github :repo "magit/emacsql" :files - (:defaults "README.md" "sqlite") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "ced062890061b6e4fbe4d00c0617f7ff84fff25c")) - (emojify :source "elpaca-menu-lock-file" :recipe - (:package "emojify" :fetcher github :repo "iqbalansari/emacs-emojify" :files - (:defaults "data" "images") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1b726412f19896abf5e4857d4c32220e33400b55")) - (envrc :source "elpaca-menu-lock-file" :recipe - (:package "envrc" :fetcher github :repo "purcell/envrc" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "cb5f6d2a4217c1e2cc963072aaa5ecfe257ab378")) - (f :source "elpaca-menu-lock-file" :recipe - (:package "f" :fetcher github :repo "rejeep/f.el" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "931b6d0667fe03e7bf1c6c282d6d8d7006143c52")) - (forge :source "elpaca-menu-lock-file" :recipe - (:package "forge" :fetcher github :repo "magit/forge" :files - ("lisp/*.el" "docs/*.texi" ".dir-locals.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c498fed98a6df8adca33e87433b4084c0340fb4a")) - (gcmh :source "elpaca-menu-lock-file" :recipe - (:package "gcmh" :repo "koral/gcmh" :fetcher gitlab :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "0089f9c3a6d4e9a310d0791cf6fa8f35642ecfd9")) - (gdscript-mode :source "elpaca-menu-lock-file" :recipe - (:package "gdscript-mode" :fetcher github :repo "godotengine/emacs-gdscript-mode" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "5136be407a3479ad1fb944acdd36b065833f48f6")) - (ghub :source "elpaca-menu-lock-file" :recipe - (:package "ghub" :fetcher github :repo "magit/ghub" :files - ("lisp/*.el" "docs/*.texi" ".dir-locals.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "00c6a23417050798ccff2f4f89660ec5e8a2ceb9")) - (git-gutter :source "elpaca-menu-lock-file" :recipe - (:package "git-gutter" :repo "emacsorphanage/git-gutter" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "21b171923baf8d4ae6f662548ebe11b527cf2e7e")) - (groovy-mode :source "elpaca-menu-lock-file" :recipe - (:package "groovy-mode" :fetcher github :repo "Groovy-Emacs-Modes/groovy-emacs-modes" :files - ("*groovy*.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7b8520b2e2d3ab1d62b35c426e17ac25ed0120bb")) - (haskell-mode :source "elpaca-menu-lock-file" :recipe - (:package "haskell-mode" :repo "haskell/haskell-mode" :fetcher github :files - (:defaults "NEWS" "logo.svg") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2e08ba771ffdc46d082b2285c534afdb12efb941")) - (hl-todo :source "elpaca-menu-lock-file" :recipe - (:package "hl-todo" :repo "tarsius/hl-todo" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7ed8bbcadb5229d648b194e0e4c4d261825aa91b")) - (ht :source "elpaca-menu-lock-file" :recipe - (:package "ht" :fetcher github :repo "Wilfred/ht.el" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "1c49aad1c820c86f7ee35bf9fff8429502f60fef")) - (htmlize :source "elpaca-menu-lock-file" :recipe - (:package "htmlize" :fetcher github :repo "hniksic/emacs-htmlize" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "8e3841c837b4b78bd72ad7f0436e919f39315a46")) - (hydra :source "elpaca-menu-lock-file" :recipe - (:package "hydra" :repo "abo-abo/hydra" :fetcher github :files - (:defaults - (:exclude "lv.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "59a2a45a35027948476d1d7751b0f0215b1e61aa")) - (inheritenv :source "elpaca-menu-lock-file" :recipe - (:package "inheritenv" :fetcher github :repo "purcell/inheritenv" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "b9e67cc20c069539698a9ac54d0e6cc11e616c6f")) - (ivy :source "elpaca-menu-lock-file" :recipe - (:package "ivy" :repo "abo-abo/swiper" :fetcher github :files - (:defaults "doc/ivy-help.org" - (:exclude "swiper.el" "counsel.el" "ivy-hydra.el" "ivy-avy.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e")) - (kotlin-ts-mode :source "elpaca-menu-lock-file" :recipe - (:package "kotlin-ts-mode" :fetcher gitlab :repo "bricka/emacs-kotlin-ts-mode" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "051c9ef534956c235343fb41546623ff87a1695b")) - (llama :source "elpaca-menu-lock-file" :recipe - (:package "llama" :fetcher github :repo "tarsius/llama" :files - ("llama.el" ".dir-locals.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "6a67e4253cc02aa9ce85ef96290c95198b65d913")) - (lua-mode :source "elpaca-menu-lock-file" :recipe - (:package "lua-mode" :repo "immerrr/lua-mode" :fetcher github :files - (:defaults - (:exclude "init-tryout.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2f6b8d7a6317e42c953c5119b0119ddb337e0a5f")) - (lv :source "elpaca-menu-lock-file" :recipe - (:package "lv" :repo "abo-abo/hydra" :fetcher github :files - ("lv.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "59a2a45a35027948476d1d7751b0f0215b1e61aa")) - (macrostep :source "elpaca-menu-lock-file" :recipe - (:package "macrostep" :fetcher github :repo "emacsorphanage/macrostep" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "d0928626b4711dcf9f8f90439d23701118724199")) - (magit :source "elpaca-menu-lock-file" :recipe - (:package "magit" :fetcher github :repo "magit/magit" :files - ("lisp/magit*.el" "lisp/git-*.el" "docs/magit.texi" "docs/AUTHORS.md" "LICENSE" ".dir-locals.el" - (:exclude "lisp/magit-section.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "a4f73fb2fb55f7644a80b4442379ef43840ec5e9")) - (magit-section :source "elpaca-menu-lock-file" :recipe - (:package "magit-section" :fetcher github :repo "magit/magit" :files - ("lisp/magit-section.el" "docs/magit-section.texi" "magit-section-pkg.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "a4f73fb2fb55f7644a80b4442379ef43840ec5e9")) - (markdown-mode :source "elpaca-menu-lock-file" :recipe - (:package "markdown-mode" :fetcher github :repo "jrblevin/markdown-mode" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7c51a2167c5a1330e0ab52fe5b2d03c1ead122ca")) - (modus-themes :source "elpaca-menu-lock-file" :recipe - (:package "modus-themes" :fetcher github :repo "protesilaos/modus-themes" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "3550360e88b33b3a8f5f271a1d05afa27ffe54aa")) - (nasm-mode :source "elpaca-menu-lock-file" :recipe - (:package "nasm-mode" :repo "skeeto/nasm-mode" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "4e670f6dededab858251670aa5459c950f78d867")) - (nerd-icons :source "elpaca-menu-lock-file" :recipe - (:package "nerd-icons" :repo "rainstormstudio/nerd-icons.el" :fetcher github :files - (:defaults "data") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "4476b4cabe63f5efafa3c0a8b370db4f6a92e90c")) - (nix-mode :source "elpaca-menu-lock-file" :recipe - (:package "nix-mode" :fetcher github :repo "NixOS/nix-mode" :files - (:defaults - (:exclude "nix-company.el" "nix-mode-mmm.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "719feb7868fb567ecfe5578f6119892c771ac5e5")) - (pfuture :source "elpaca-menu-lock-file" :recipe - (:package "pfuture" :repo "Alexander-Miller/pfuture" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "19b53aebbc0f2da31de6326c495038901bffb73c")) - (php-mode :source "elpaca-menu-lock-file" :recipe - (:package "php-mode" :repo "emacs-php/php-mode" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "40b8abed3079771e060dd99a56703520dabf5be4")) - (pico8-mode :source "elpaca-menu-lock-file" :recipe - (:source nil :protocol https :inherit t :depth treeless :host github :repo "Kaali/pico8-mode" :package "pico8-mode" :ref "e276c65352f294679af62148df41f36dac744426")) - (posframe :source "elpaca-menu-lock-file" :recipe - (:package "posframe" :fetcher github :repo "tumashu/posframe" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "12f540c9ad5da09673b2bca1132b41f94c134e82")) - (powerline :source "elpaca-menu-lock-file" :recipe - (:package "powerline" :fetcher github :repo "milkypostman/powerline" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c35c35bdf5ce2d992882c1f06f0f078058870d4a")) - (proof-general :source "elpaca-menu-lock-file" :recipe - (:package "proof-general" :fetcher github :repo "ProofGeneral/PG" :files - (:defaults "CHANGES" "AUTHORS" "COPYING" "generic" "images" "lib" - ("coq" "coq/*.el") - "easycrypt" "phox" "qrhl" "pghaskell" "pgocaml" "pgshell") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "999cafbe7320ae887f7eebd441beab7e5b0ae6eb")) - (racket-mode :source "elpaca-menu-lock-file" :recipe - (:package "racket-mode" :fetcher github :repo "greghendershott/racket-mode" :files - (:defaults "*.rkt" - ("racket" "racket/*") - (:exclude "racket/example/*" "racket/test/*")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "4395797ff130fcdcc9750fb2456d4f762d56852f")) - (rainbow-delimiters :source "elpaca-menu-lock-file" :recipe - (:package "rainbow-delimiters" :fetcher github :repo "Fanael/rainbow-delimiters" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f40ece58df8b2f0fb6c8576b527755a552a5e763")) - (rainbow-mode :source "elpaca-menu-lock-file" :recipe - (:package "rainbow-mode" :repo - ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "rainbow-mode") - :branch "externals/rainbow-mode" :files - ("*" - (:exclude ".git")) - :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f7db3b5919f70420a91eb199f8663468de3033f3")) - (reformatter :source "elpaca-menu-lock-file" :recipe - (:package "reformatter" :repo "purcell/emacs-reformatter" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "6ac08cebafb9e04b825ed22d82269ff69cc5f87f")) - (s :source "elpaca-menu-lock-file" :recipe - (:package "s" :fetcher github :repo "magnars/s.el" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "dda84d38fffdaf0c9b12837b504b402af910d01d")) - (scala-mode :source "elpaca-menu-lock-file" :recipe - (:package "scala-mode" :fetcher github :repo "hvesalai/emacs-scala-mode" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "661337d8aa0a0cb418184c83757661603de3b2e3")) - (seq :source "elpaca-menu-lock-file" :recipe - (:package "seq" :repo - ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "seq") - :branch "externals/seq" :files - ("*" - (:exclude ".git")) - :source "GNU ELPA" :protocol https :inherit t :depth treeless :build - (elpaca--queue-dependencies elpaca--add-info-path - (lambda - (e) - (when - (featurep 'seq) - (unload-feature 'seq t)) - (elpaca--continue-build e)) - elpaca--activate-package) - :ref "27a90793a13f149121180e864fa53d68b9eac0b3")) - (shrink-path :source "elpaca-menu-lock-file" :recipe - (:package "shrink-path" :fetcher gitlab :repo "bennya/shrink-path.el" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c14882c8599aec79a6e8ef2d06454254bb3e1e41")) - (slime :source "elpaca-menu-lock-file" :recipe - (:package "slime" :fetcher github :repo "slime/slime" :files - ("*.el" - ("lib" "lib/hyperspec.el") - "swank" "*.lisp" "*.asd" "doc/slime.texi" "doc/slime.info" "doc/dir" "ChangeLog" - ("contrib" "contrib/*") - (:exclude "contrib/test" "contrib/Makefile")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "a378958d3b1cfb0ec8e60ec5404b82dbd7dc55c5")) - (smalltalk-mode :source "elpaca-menu-lock-file" :recipe - (:package "smalltalk-mode" :repo - ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "smalltalk-mode") - :branch "externals/smalltalk-mode" :files - ("*" - (:exclude ".git")) - :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "f2e976fd395f36c95b9b0b44a22e027232f550ac")) - (sml-mode :source "elpaca-menu-lock-file" :recipe - (:package "sml-mode" :repo - ("https://git.savannah.gnu.org/git/emacs/elpa.git" . "sml-mode") - :branch "externals/sml-mode" :files - ("*" - (:exclude ".git")) - :source "GNU ELPA" :protocol https :inherit t :depth treeless :ref "39ad5243eb761821e5342ed8cf1ba111d2492f48")) - (solaire-mode :source "elpaca-menu-lock-file" :recipe - (:package "solaire-mode" :repo "hlissner/emacs-solaire-mode" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "c9334666bd208f3322e6118d30eba1b2438e2bb9")) - (svelte-mode :source "elpaca-menu-lock-file" :recipe - (:package "svelte-mode" :fetcher github :repo "leafOfTree/svelte-mode" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "ac8fba901dc790976f9893e338c8ad1241b897c6")) - (swift-mode :source "elpaca-menu-lock-file" :recipe - (:package "swift-mode" :repo "swift-emacs/swift-mode" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "fc7df7bd906a2bb04aac6e0de47fc7acf33ceed3")) - (swiper :source "elpaca-menu-lock-file" :recipe - (:package "swiper" :repo "abo-abo/swiper" :fetcher github :files - ("swiper.el") - :source "MELPA" :protocol https :inherit t :depth treeless :ref "2257a9d0519e18f5ce7a7fafda8a1a8e5023628e")) - (transient :source "elpaca-menu-lock-file" :recipe - (:package "transient" :fetcher github :repo "magit/transient" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :build - (elpaca--queue-dependencies elpaca--add-info-path - (lambda - (e) - (when - (featurep 'transient) - (unload-feature 'transient t)) - (elpaca--continue-build e)) - elpaca--activate-package) - :ref "51915436f76ff262766d40bee3c84dfe3568d289")) - (treemacs :source "elpaca-menu-lock-file" :recipe - (:package "treemacs" :fetcher github :repo "Alexander-Miller/treemacs" :files - (:defaults "Changelog.org" "icons" "src/elisp/treemacs*.el" "src/scripts/treemacs*.py" - (:exclude "src/extra/*")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "7109ce99853b18435a77267a15c5dd06715b54e4")) - (treepy :source "elpaca-menu-lock-file" :recipe - (:package "treepy" :repo "volrath/treepy.el" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "651e2634f01f346da9ec8a64613c51f54b444bc3")) - (typst-ts-mode :source "elpaca-menu-lock-file" :recipe - (:package "typst-ts-mode" :repo - ("https://codeberg.org/meow_king/typst-ts-mode" . "typst-ts-mode") - :files - ("*" - (:exclude ".git")) - :source "NonGNU ELPA" :protocol https :inherit t :depth treeless :ref "972dc69d6b8a3f8983f6b8000654f59c8a8d05ba")) - (with-editor :source "elpaca-menu-lock-file" :recipe - (:package "with-editor" :fetcher github :repo "magit/with-editor" :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f32cd7b09d518b629bfaa3eeb92b539891c6b9bc")) - (yaml :source "elpaca-menu-lock-file" :recipe - (:package "yaml" :repo "zkry/yaml.el" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "f99ef76c80e6fc3fcf650c4fe34e10726594a4c4")) - (zig-mode :source "elpaca-menu-lock-file" :recipe - (:package "zig-mode" :repo "ziglang/zig-mode" :fetcher github :files - ("*.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" - (:exclude ".dir-locals.el" "test.el" "tests.el" "*-test.el" "*-tests.el" "LICENSE" "README*" "*-pkg.el")) - :source "MELPA" :protocol https :inherit t :depth treeless :ref "9f86fded13e28c6c9ccf56d417276547bac7e54e"))) -- cgit v1.2.3