lots of emacs tweaks
This commit is contained in:
parent
ad82b6fc2c
commit
c5ddcf876f
1 changed files with 94 additions and 16 deletions
|
|
@ -30,15 +30,61 @@
|
||||||
auto-save-default t)
|
auto-save-default t)
|
||||||
#+end_src
|
#+end_src
|
||||||
* Packages
|
* Packages
|
||||||
|
** Elpaca
|
||||||
|
Set up variables.
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(defvar elpaca-installer-version 0.11)
|
||||||
|
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
|
||||||
|
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
|
||||||
|
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
|
||||||
|
(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)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Bootstrap elpaca
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(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))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Enable =use-package= integration
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(elpaca elpaca-use-package
|
||||||
|
(elpaca-use-package-mode))
|
||||||
|
#+end_src
|
||||||
** use-package
|
** use-package
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(require 'use-package)
|
|
||||||
(setq use-package-always-ensure t)
|
(setq use-package-always-ensure t)
|
||||||
(setq use-package-verbose t)
|
|
||||||
|
|
||||||
(require 'package)
|
|
||||||
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
|
||||||
(package-initialize)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
** Set up path correctly
|
** Set up path correctly
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
@ -103,6 +149,7 @@
|
||||||
*** Modus Themes
|
*** Modus Themes
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package emacs
|
(use-package emacs
|
||||||
|
:ensure nil
|
||||||
:config
|
:config
|
||||||
(require-theme 'modus-themes)
|
(require-theme 'modus-themes)
|
||||||
(setq modus-themes-italic-constructs t
|
(setq modus-themes-italic-constructs t
|
||||||
|
|
@ -111,18 +158,18 @@
|
||||||
modus-themes-prompts '(bold intense)
|
modus-themes-prompts '(bold intense)
|
||||||
modus-themes-mode-line '(borderless accented moody)
|
modus-themes-mode-line '(borderless accented moody)
|
||||||
modus-themes-org-blocks 'gray-background
|
modus-themes-org-blocks 'gray-background
|
||||||
modus-themes-region '(bg-only no-extend)))
|
modus-themes-region '(bg-only no-extend))
|
||||||
;; (load-theme 'modus-vivendi :no-confirm))
|
(load-theme 'modus-operandi :no-confirm))
|
||||||
#+end_src
|
|
||||||
*** Italic Comments
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(advice-add #'load-theme :after (lambda (&rest _) (set-face-italic 'font-lock-comment-face t)))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
*** Catpuccin
|
*** Catpuccin
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package catppuccin-theme
|
(use-package catppuccin-theme
|
||||||
:init (setq catppuccin-flavor 'mocha)
|
:init (setq catppuccin-flavor 'mocha)
|
||||||
:hook (after-init . (lambda () (load-theme 'catppuccin :no-confirm))))
|
:hook (after-init . (lambda () (load-theme 'catppuccin :no-confirm))))
|
||||||
|
|
||||||
|
*** Italic Comments
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(advice-add #'load-theme :after (lambda (&rest _) (set-face-italic 'font-lock-comment-face t)))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Line Numbers
|
** Line Numbers
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
@ -133,6 +180,9 @@
|
||||||
(use-package doom-modeline
|
(use-package doom-modeline
|
||||||
:init (doom-modeline-mode 1))
|
:init (doom-modeline-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package hide-mode-line)
|
||||||
|
#+end_src
|
||||||
** Smooth Scroll
|
** Smooth Scroll
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package ultra-scroll
|
(use-package ultra-scroll
|
||||||
|
|
@ -159,6 +209,7 @@
|
||||||
** Savehist
|
** Savehist
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package emacs
|
(use-package emacs
|
||||||
|
:ensure nil
|
||||||
:init (savehist-mode))
|
:init (savehist-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
** Orderless
|
** Orderless
|
||||||
|
|
@ -274,6 +325,7 @@
|
||||||
** eglot
|
** eglot
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package eglot
|
(use-package eglot
|
||||||
|
:ensure nil
|
||||||
:bind (:map eglot-mode-map
|
:bind (:map eglot-mode-map
|
||||||
("C-c l r" . eglot-rename)
|
("C-c l r" . eglot-rename)
|
||||||
("C-c l f" . eglot-format-buffer)
|
("C-c l f" . eglot-format-buffer)
|
||||||
|
|
@ -338,6 +390,22 @@ I don't really use markdown ([[Org Mode]] is a strict improvement imo), but it's
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package zig-mode)
|
(use-package zig-mode)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
** C
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package emacs
|
||||||
|
:ensure nil
|
||||||
|
:hook
|
||||||
|
(c-mode . electric-pair-mode)
|
||||||
|
:custom
|
||||||
|
(c-default-style '((java-mode . "java")
|
||||||
|
(awk-mode . "awk")
|
||||||
|
(other . "linux"))))
|
||||||
|
#+end_src
|
||||||
|
** Perga
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package perga-mode
|
||||||
|
:ensure (:repo "https://forgejo.ballcloud.cc/wball/perga-mode.git"))
|
||||||
|
#+end_src
|
||||||
* Latex
|
* Latex
|
||||||
** Auctex
|
** Auctex
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
@ -360,7 +428,7 @@ I don't really use markdown ([[Org Mode]] is a strict improvement imo), but it's
|
||||||
'(((output-dvi has-no-display-manager) "dvi2tty")
|
'(((output-dvi has-no-display-manager) "dvi2tty")
|
||||||
((output-dvi style-pstricks) "dvips and gv")
|
((output-dvi style-pstricks) "dvips and gv")
|
||||||
(output-dvi "xdvi")
|
(output-dvi "xdvi")
|
||||||
(output-pdf "Zathura")
|
(output-pdf "zathura")
|
||||||
(output-html "xdg-open"))))
|
(output-html "xdg-open"))))
|
||||||
#+end_src
|
#+end_src
|
||||||
** CDLatex
|
** CDLatex
|
||||||
|
|
@ -433,6 +501,8 @@ I don't really use markdown ([[Org Mode]] is a strict improvement imo), but it's
|
||||||
** Org itself
|
** Org itself
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package org
|
(use-package org
|
||||||
|
:ensure `(org :repo "https://code.tecosaur.net/tec/org-mode.git/"
|
||||||
|
:branch "dev")
|
||||||
:defer
|
:defer
|
||||||
:init
|
:init
|
||||||
(setq org-list-allow-alphabetical t)
|
(setq org-list-allow-alphabetical t)
|
||||||
|
|
@ -447,9 +517,11 @@ I don't really use markdown ([[Org Mode]] is a strict improvement imo), but it's
|
||||||
(org-agenda-files `(,org-directory))
|
(org-agenda-files `(,org-directory))
|
||||||
(org-default-notes-file (mapcar (lambda (x) (concat org-directory x))
|
(org-default-notes-file (mapcar (lambda (x) (concat org-directory x))
|
||||||
'("/todo.org" "/done.org")))
|
'("/todo.org" "/done.org")))
|
||||||
|
(org-latex-preview-mode-display-live t)
|
||||||
:config
|
:config
|
||||||
(setq org-format-latex-options (plist-put org-format-latex-options :scale 0.6))
|
(setq org-format-latex-options (plist-put org-format-latex-options :scale 0.6))
|
||||||
(require 'ox-latex)
|
(require 'ox-latex)
|
||||||
|
(require 'ox-beamer)
|
||||||
(add-to-list 'org-latex-classes '("myreport" "\\documentclass[11pt]{report}"
|
(add-to-list 'org-latex-classes '("myreport" "\\documentclass[11pt]{report}"
|
||||||
("\\chapter{%s}" . "\\chapter*{%s}")
|
("\\chapter{%s}" . "\\chapter*{%s}")
|
||||||
("\\section{%s}" . "\\section*{%s}")
|
("\\section{%s}" . "\\section*{%s}")
|
||||||
|
|
@ -457,7 +529,8 @@ I don't really use markdown ([[Org Mode]] is a strict improvement imo), but it's
|
||||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
|
("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
|
||||||
:hook
|
:hook
|
||||||
(org-mode . visual-line-mode)
|
(org-mode . visual-line-mode)
|
||||||
(org-mode . flyspell-mode))
|
(org-mode . flyspell-mode)
|
||||||
|
(org-mode . org-latex-preview-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
** toki pona support
|
** toki pona support
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
@ -477,6 +550,10 @@ I don't really use markdown ([[Org Mode]] is a strict improvement imo), but it's
|
||||||
:hook ((org-mode . org-modern-mode)
|
:hook ((org-mode . org-modern-mode)
|
||||||
(org-agenda-finalize . org-modern-agenda)))
|
(org-agenda-finalize . org-modern-agenda)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
** Simple Presentations
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package org-present)
|
||||||
|
#+end_src
|
||||||
** Org Bloggy stuff
|
** Org Bloggy stuff
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq org-publish-project-alist
|
(setq org-publish-project-alist
|
||||||
|
|
@ -567,6 +644,7 @@ I don't really use markdown ([[Org Mode]] is a strict improvement imo), but it's
|
||||||
** Dired
|
** Dired
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package emacs
|
(use-package emacs
|
||||||
|
:ensure nil
|
||||||
:commands (dired dired-jump)
|
:commands (dired dired-jump)
|
||||||
:custom ((dired-listing-switches "-agho --group-directories-first"))
|
:custom ((dired-listing-switches "-agho --group-directories-first"))
|
||||||
:config
|
:config
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue