Guest User

Package-manager.el

a guest
Feb 13th, 2024
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.34 KB | None | 0 0
  1. ;; --
  2. (defvar elpaca-installer-version 0.6)
  3. (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
  4. (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
  5. (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
  6. (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git"
  7. :ref nil
  8. :files (:defaults "elpaca-test.el" (:exclude "extensions"))
  9. :build (:not elpaca--activate-package)))
  10. (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory))
  11. (build (expand-file-name "elpaca/" elpaca-builds-directory))
  12. (order (cdr elpaca-order))
  13. (default-directory repo))
  14. (add-to-list 'load-path (if (file-exists-p build) build repo))
  15. (unless (file-exists-p repo)
  16. (make-directory repo t)
  17. (when (< emacs-major-version 28) (require 'subr-x))
  18. (condition-case-unless-debug err
  19. (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*"))
  20. ((zerop (call-process "git" nil buffer t "clone"
  21. (plist-get order :repo) repo)))
  22. ((zerop (call-process "git" nil buffer t "checkout"
  23. (or (plist-get order :ref) "--"))))
  24. (emacs (concat invocation-directory invocation-name))
  25. ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch"
  26. "--eval" "(byte-recompile-directory \".\" 0 'force)")))
  27. ((require 'elpaca))
  28. ((elpaca-generate-autoloads "elpaca" repo)))
  29. (progn (message "%s" (buffer-string)) (kill-buffer buffer))
  30. (error "%s" (with-current-buffer buffer (buffer-string))))
  31. ((error) (warn "%s" err) (delete-directory repo 'recursive))))
  32. (unless (require 'elpaca-autoloads nil t)
  33. (require 'elpaca)
  34. (elpaca-generate-autoloads "elpaca" repo)
  35. (load "./elpaca-autoloads")))
  36. (add-hook 'after-init-hook #'elpaca-process-queues)
  37. (elpaca `(,@elpaca-order))
  38.  
  39. (elpaca-no-symlink-mode)
  40.  
  41. (elpaca elpaca-use-package
  42. (elpaca-use-package-mode)
  43. (setq elpaca-use-package-by-default t))
  44.  
  45. (elpaca-wait)
  46. ;; --
  47.  
  48. ;; -- Packages --
  49.  
  50. ;; Gruber theme
  51. (use-package gruber-darker-theme
  52. :ensure t
  53. :config
  54. (load-theme 'gruber-darker t))
  55.  
  56. ;; Smex
  57. (elpaca smex
  58. :ensure t)
  59. (global-set-key (kbd "M-x") 'smex)
  60. (global-set-key (kbd "M-X") `smex-major-mode-commands)
  61. (global-set-key (kbd "C-c C-c M-x") `execute-extended-command)
  62.  
  63. ;; Which-key
  64. (elpaca which-key
  65. :ensure t
  66. :init
  67. (which-key-mode))
  68.  
  69. ;; Ido-completing-read+
  70. (elpaca ido-completing-read+
  71. :ensure t
  72. :init
  73. (ido-ubiquitous-mode)
  74. (ido-everywhere 1))
  75.  
  76. ;; move-text
  77. (elpaca move-text
  78. :ensure t
  79. (move-text-default-bindings))
  80.  
  81. ;; Marginalia
  82. (elpaca marginalia
  83. :ensure t
  84. :config
  85. (marginalia-mode 1))
  86.  
  87. ;; Mood-line
  88. (elpaca mood-line
  89. :ensure t
  90. :if window-system
  91. :init
  92. (mood-line-mode))
  93.  
  94. ;; Org-modern
  95. (elpaca org-modern
  96. :ensure t
  97. :config
  98. (setq
  99. ;; Edit settings
  100. org-auto-align-tags nil
  101. org-tags-column 0
  102. org-catch-invisible-edits 'show-and-error
  103. org-special-ctrl-a/e t
  104. org-insert-heading-respect-content t
  105.  
  106. ;; Org styling, hide markup etc.
  107. org-hide-emphasis-markers t
  108. org-pretty-entities t
  109. org-ellipsis "…"
  110.  
  111. ;; Agenda styling
  112. org-agenda-tags-column 0
  113. org-agenda-block-separator ?─
  114. org-agenda-time-grid
  115. '((daily today require-timed)
  116. (800 1000 1200 1400 1600 1800 2000)
  117. " ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄")
  118. org-agenda-current-time-string
  119. "◀── now ─────────────────────────────────────────────────")
  120. :init
  121. (global-org-modern-mode))
  122.  
  123.  
  124. ;; Org-roam
  125. (elpaca org-roam
  126. :ensure t)
  127. (setq org-roam-directory "~/RoamNotes/")
  128. (global-set-key (kbd "C-c n l") 'org-buffer-toggle)
  129. (global-set-key (kbd "C-c n f") 'org-roam-node-find)
  130. (global-set-key (kbd "C-c n g") 'org-roam-graph)
  131. (global-set-key (kbd "C-c n i") 'org-roam-node-insert)
  132. (global-set-key (kbd "C-c n c") 'org-roam-capture)
  133. (global-set-key (kbd "C-c n j") 'org-roam-dailies-capture-today)
  134. (setq org-roam-node-display-template (concat "${title:*} " (propertize "${tags:10}" 'face 'org-tag)))
  135.  
  136. ;; Corfu
  137. (elpaca corfu
  138. :ensure t
  139. :config
  140. (setq corfu-cycle t)
  141. (setq corfu-auto-delay 0)
  142. (setq corfu-auto-prefix 1)
  143. (setq corfu-auto t)
  144. (setq corfu-separator ?\s)
  145. (setq corfu-quit-at-boundary nil)
  146. (setq corfu-quit-no-match nil)
  147. (setq corfu-preview-current nil)
  148. (setq corfu-preselect 'prompt)
  149. (setq corfu-on-exact-match nil)
  150. (setq corfu-scroll-margin 5)
  151. (global-corfu-mode))
  152.  
  153. (use-package jsonrpc
  154. :ensure t)
  155.  
  156. ;; Enable LSP support by default in programming buffers
  157. (add-hook 'prog-mode-hook #'eglot-ensure)
  158. (add-hook 'eglot-server-programs
  159. `(python-mode). ("pyright"))
  160.  
  161. ;; Enable autocompletion by default in programming buffers
  162. (add-hook 'prog-mode-hook #'corfu-mode)
  163.  
  164. ;; treesitter-auto
  165. ;;(use-package treesit-auto
  166. ;; :demand
  167. ;; :init
  168. ;; (setq treesit-font-lock-level 4)
  169. ;; :config
  170. ;; (global-treesit-auto-mode))
  171.  
  172. ;; powershell
  173. (elpaca powershell
  174. :ensure t)
Advertisement
Add Comment
Please, Sign In to add comment