diff --git a/config/buffers.org b/config/buffers.org deleted file mode 100644 index 54a80f5..0000000 --- a/config/buffers.org +++ /dev/null @@ -1,122 +0,0 @@ -#+title: Buffer Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+language: en -#+filetags: :emacs:config: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent -* Common buffer shortcuts -** Scratch buffer -#+begin_src emacs-lisp - ;; Scratch buffer shortcut - (keymap-global-set "C-c w x" #'scratch-buffer) -#+end_src -** emacs init file -#+begin_src emacs-lisp - ;; Config file shortcut - (defun my/open-init-file () - "Open emacs init file." - (interactive) - (find-file (locate-user-emacs-file "init.el"))) - (keymap-global-set "C-c w e" #'my/open-init-file) -#+end_src -** NixOS config flake -#+begin_src emacs-lisp - ;; NixOS flake shortcut - (defun my/open-nixos-flake () - "Open NixOS system config flake." - (interactive) - (let ((flake "/etc/nixos/flake.nix")) - (if (file-exists-p flake) - (find-file flake) - (warn (concat flake " not found"))))) - (keymap-global-set "C-c w n" #'my/open-nixos-flake) -#+end_src -** Templates file -#+begin_src emacs-lisp - ;; Tempel template file shortcut - (defun my/open-template-file () - "Open `tempel' template file." - (interactive) - (require 'tempel) - (find-file tempel-path)) - (keymap-global-set "C-c w t" #'my/open-template-file) -#+end_src -** Org directory -#+begin_src emacs-lisp - ;; Org directory shortcut - (defun my/open-org-directory () - "Open base org-mode directory in dired." - (interactive) - (require 'org) - (find-file org-directory)) - (keymap-global-set "C-c w o" #'my/open-org-directory) -#+end_src -** Default bibliography file -#+begin_src emacs-lisp - (defun my/open-global-bibliography () - "Open `org-cite-global-bibliography'." - (interactive) - (require 'org) - (find-file (car org-cite-global-bibliography))) - (keymap-global-set "C-c w b" #'my/open-global-bibliography) -#+end_src -** RSS feeds directory -#+begin_src emacs-lisp - ;; Elfeed feeds directory shortcut - (defun my/open-feeds-directory () - "Open directory containing elfeed sources." - (interactive) - (require 'org) - (require 'elfeed) - (require 'elfeed-org) - (find-file (file-name-directory (car rmh-elfeed-org-files)))) - (keymap-global-set "C-c w f" #'my/open-feeds-directory) -#+end_src -** Documents and Downloads -#+begin_src emacs-lisp - (defun my/open-documents-directory () - "Open Documents directory." - (interactive) - (find-file "~/Documents/")) - (defun my/open-downloads-directory () - "Open Downloads directory." - (interactive) - (find-file "~/Downloads/")) - (keymap-global-set "C-c w d" #'my/open-documents-directory) - (keymap-global-set "C-c w C-d" #'my/open-downloads-directory) -#+end_src -** Projects directory -#+begin_src emacs-lisp - (defun my/open-projects-directory () - "Open Projects directory. - Try `magit-clone-default-directory' if available, fall back to - ~/Projects otherwise." - (interactive) - (require 'magit) - (find-file (if magit-clone-default-directory - magit-clone-default-directory - "~/Projects/"))) - (keymap-global-set "C-c w p" #'my/open-projects-directory) -#+end_src -* Common project shortcuts -** NixOS -#+begin_src emacs-lisp - (defun my/open-nixos-project () - "Open NixOS config project." - (interactive) - (require 'project) - (let ((nixos "/etc/nixos/")) - (if (file-directory-p nixos) - (project-switch-project nixos) - (warn (concat nixos " not found"))))) - (keymap-global-set "C-c p n" #'my/open-nixos-project) -#+end_src -** emacs -#+begin_src emacs-lisp - (defun my/open-emacs-project () - "Open Emacs config project." - (interactive) - (require 'project) - (project-switch-project user-emacs-directory)) - (keymap-global-set "C-c p e" #'my/open-emacs-project) -#+end_src diff --git a/config/completion.org b/config/completion.org deleted file mode 100644 index ff3d819..0000000 --- a/config/completion.org +++ /dev/null @@ -1,170 +0,0 @@ -#+title: Completion -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent -* Vertico -#+begin_src emacs-lisp - (use-package vertico - :custom - (vertico-cycle t) - :init - (vertico-mode) - :config - (require 'vertico-directory)) -#+end_src - -* Marginalia -#+begin_src emacs-lisp - (use-package marginalia - :custom - (marginalia-annotators '(marginalia-annotators-heavy - marginalia-annotators-light - nil)) - :config (marginalia-mode +1)) -#+end_src - -* Orderless -#+begin_src emacs-lisp - (use-package orderless - :custom - (completion-styles '(orderless basic)) - (completion-category-defaults nil) - (completion-category-overrides '((file (styles . (partial-completion))) - (eglot (styles . (styles orderless))) - (eglot-capf (styles . (styles orderless)))))) -#+end_src - -* Corfu and Cape -#+begin_src emacs-lisp - (use-package corfu - :demand - :custom - (corfu-cycle t) - (corfu-auto t) - (corfu-auto-delay 0.2) - (corfu-auto-prefix 2) - (corfu-quit-no-match 'separator) - (corfu-quit-at-boundary 'separator) - (corfu-preview-current nil) - (corfu-preselect 'directory) - :bind ( :map corfu-map - ("M-SPC" . corfu-insert-separator) - ("RET" . nil) - ("TAB" . corfu-insert) - ([tab] . corfu-insert)) - :init - (global-corfu-mode +1) - (corfu-history-mode +1) - :config - (when (require 'corfu-popupinfo nil :noerror) - (setq corfu-popupinfo-delay 0.3) - (corfu-popupinfo-mode +1) - (keymap-set corfu-map "M-p" #'corfu-popupinfo-scroll-down) - (keymap-set corfu-map "M-n" #'corfu-popupinfo-scroll-up) - (keymap-set corfu-map "M-d" #'corfu-popupinfo-toggle)) - - (defun corfu-enable-always-in-minibuffer () - "Enable Corfu in the minibuffer if Vertico is not active." - (unless (or (bound-and-true-p vertico--input) - (eq (current-local-map) read-passwd-map)) - (setq-local corfu-echo-delay nil ;; Disable automatic echo and popup - corfu-auto nil ;; Enable/disable auto completion - corfu-popupinfo-delay nil) - (corfu-mode +1))) - (add-hook 'minibuffer-setup-hook #'corfu-enable-always-in-minibuffer 1) - - (defun my/local-corfu-no-auto () (setq-local corfu-auto nil)) - (with-eval-after-load 'eshell (add-hook 'eshell-mode-hook 'my/local-corfu-no-auto)) - (with-eval-after-load 'shell (add-hook 'shell-mode-hook 'my/local-corfu-no-auto)) - (with-eval-after-load 'gud (add-hook 'gud-mode-hook 'my/local-corfu-no-auto))) - - (use-package corfu-terminal - :after corfu - :demand - :config - (corfu-terminal-mode +1)) - - (require 'corfu) - - (use-package cape - :demand - :init - (add-to-list 'completion-at-point-functions #'cape-emoji) - (add-to-list 'completion-at-point-functions #'cape-file) - (add-to-list 'completion-at-point-functions #'cape-dabbrev) - :custom - (cape-dabbrev-min-length (+ corfu-auto-prefix 1))) - - (require 'cape) -#+end_src - -* Consult -#+begin_src emacs-lisp - (use-package consult - :bind ((" " . consult-imenu) - (" " . consult-buffer) - (" " . consult-project-buffer) - (" " . consult-org-heading) - ("C-c s l" . consult-line) - ("C-c s o" . consult-outline) - ("C-c s f" . consult-fd) - ("C-c s g" . consult-ripgrep) - ("C-c s e" . consult-flymake) - ("C-c s i" . consult-info) - :map minibuffer-local-map - ("C-r" . consult-history)) - :config (setq completion-in-region-function #'consult-completion-in-region)) - - (use-package consult-eglot - :after (consult eglot) - :bind (("C-c s s" . consult-eglot-symbols))) -#+end_src - -* Embark -#+begin_src emacs-lisp - (use-package embark - :bind ((" " . embark-bindings) - ("C-." . embark-act)) - :config (setq prefix-help-command #'embark-prefix-help-command)) - - (use-package embark-consult - :after (embark consult) - :hook (embark-collect-mode . consult-preview-at-point-mode)) -#+end_src - -* Tempel Snippets -#+begin_src emacs-lisp - ;; Configure Tempel - (use-package tempel - ;; Require trigger prefix before template name when completing. - ;; :custom - ;; (tempel-trigger-prefix "<") - - :bind (("M-+" . tempel-complete) ;; Alternative tempel-expand - ("M-*" . tempel-insert)) - - :init - - ;; Setup completion at point - (defun tempel-setup-capf () - ;; Add the Tempel Capf to `completion-at-point-functions'. - ;; `tempel-expand' only triggers on exact matches. Alternatively use - ;; `tempel-complete' if you want to see all matches, but then you - ;; should also configure `tempel-trigger-prefix', such that Tempel - ;; does not trigger too often when you don't expect it. NOTE: We add - ;; `tempel-expand' *before* the main programming mode Capf, such - ;; that it will be tried first. - (setq-local completion-at-point-functions - (cons #'tempel-expand - completion-at-point-functions))) - - (add-hook 'conf-mode-hook 'tempel-setup-capf) - (add-hook 'prog-mode-hook 'tempel-setup-capf) - (add-hook 'text-mode-hook 'tempel-setup-capf) - - ;; Optionally make the Tempel templates available to Abbrev, - ;; either locally or globally. `expand-abbrev' is bound to C-x '. - (add-hook 'prog-mode-hook #'tempel-abbrev-mode) - (global-tempel-abbrev-mode)) -#+end_src diff --git a/config/defaults.org b/config/defaults.org deleted file mode 100644 index f44039c..0000000 --- a/config/defaults.org +++ /dev/null @@ -1,198 +0,0 @@ -#+title: Emacs Config Defaults -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent - -#+begin_src emacs-lisp - (setq custom-file (locate-user-emacs-file "custom.el")) - (when (and custom-file (file-exists-p custom-file)) - (load custom-file nil 'nomessage)) - - (setq user-full-name "Evie Litherland-Smith" - user-mail-address "evie@xenia.me.uk" - use-short-answers t - load-prefer-newer t - even-window-sizes t - global-auto-revert-non-file-buffers t - dired-auto-revert-buffer t - dired-dwim-target t - tab-always-indent t - completion-cycle-threshold nil - completions-detailed t - xref-show-definitions-function #'xref-show-definitions-completing-read - kill-do-not-save-duplicates t - auto-window-vscroll nil - fast-but-imprecise-scrolling t - scroll-conservatively 101 - scroll-margin 0 - scroll-preserve-screen-position 1) - - - ;; Bind normal forward/back buttons on mouse to next/previous buffer respectively - (keymap-global-set "" #'previous-buffer) - (keymap-global-set "" #'next-buffer) - - ;; Quick bind for calling `git-sync-all' - (defun my/git-sync-all () - "Run shell command `git-sync-all' asynchronously." - (interactive) - (async-shell-command "git-sync-all" "*git-sync-all*" "*git-sync-errors*") - (require 'org-journal) - (org-journal-invalidate-cache)) - (keymap-global-set "C-c g s" #'my/git-sync-all) - - (set-default-coding-systems 'utf-8) - (set-terminal-coding-system 'utf-8) - (set-keyboard-coding-system 'utf-8) - - (global-auto-revert-mode +1) - (delete-selection-mode +1) - - (setopt - ;; No tabs - indent-tabs-mode nil - ;; Only display async output buffer when there's something to show - async-shell-command-display-buffer nil - ;; Scroll compilation buffer output - compilation-scroll-output t) - - ;; Make shebang (#!) file executable when saved - (add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p) -#+end_src - -* Auto-save file settings -#+begin_src emacs-lisp :tangle yes - (setq backup-directory-alist '(("." . "~/.local/state/emacs/backups")) - tramp-backup-directory-alist backup-directory-alist - tramp-auto-save-directory (cdr (assoc "." tramp-backup-directory-alist))) - - (savehist-mode +1) -#+end_src - -* Recent files -#+begin_src emacs-lisp - (use-package recentf - :config - (run-at-time nil (* 5 60) 'recentf-save-list) - (recentf-mode +1) - :custom - (recentf-max-saved-items 2048)) -#+end_src - -* Authentication -#+begin_src emacs-lisp - (when (require 'auth-source nil :noerror) - (setq auth-sources '("secrets:Login")) - (when (require 'auth-source-pass nil :noerror) - (auth-source-pass-enable))) -#+end_src - -* Helpful -#+begin_src emacs-lisp - ;; Make `describe-*' screens more helpful - (use-package helpful - :bind ((" " . helpful-command) - (" " . helpful-callable) - (" " . helpful-key) - (" " . helpful-symbol) - (" " . helpful-variable) - ("C-h F" . helpful-function) - :map helpful-mode-map - (" " . helpful-update))) - - ;; Bind extra `describe-*' commands - (keymap-global-set "C-h K" #'describe-keymap) -#+end_src - -* Spell checking -#+begin_src emacs-lisp - ;; turn on spell checking, if available. - (use-package ispell - :custom - (ispell-dictionary "en_GB")) - - (use-package flyspell - :hook ((text-mode . flyspell-mode) - (prog-mode . flyspell-prog-mode)) - :init - (require 'ispell) - :custom - (flyspell-mode-line-string nil) - (flyspell-use-meta-tab nil) - :config - (require 'flyspell-correct) - (require 'consult-flyspell)) - - (use-package flyspell-correct - :after flyspell - :bind ( :map flyspell-mode-map - ("C-;" . flyspell-correct-wrapper))) - - (use-package consult-flyspell - :after (consult flyspell) - :bind ( :map flyspell-mode-map - ("C-c s ;" . consult-flyspell)) - :config - (setq consult-flyspell-always-check-buffer t)) -#+end_src - -* ibuffer -#+begin_src emacs-lisp - (use-package ibuffer - :bind (("C-c b" . ibuffer))) - - (use-package ibuffer-project - :after ibuffer - :hook ((ibuffer . (lambda () - (setq ibuffer-filter-groups (ibuffer-project-generate-filter-groups)) - (unless (eq ibuffer-sorting-mode 'project-file-relative) - (ibuffer-do-sort-by-project-file-relative)))))) -#+end_src - -* Link hint keymaps -#+begin_src emacs-lisp - (use-package link-hint - :bind (("C-c l o" . link-hint-open-link) - ("C-c l c" . link-hint-copy-link) - ("C-c l C-o" . link-hint-open-all-link) - ("C-c l C-c" . link-hint-copy-all-link))) -#+end_src - -* Avy keymaps -#+begin_src emacs-lisp - (use-package avy - :bind (("C-c j j" . avy-goto-char-2) - ("C-c j w" . avy-goto-word-0) - ("C-c j c" . avy-goto-char) - ("C-c j l" . avy-goto-line))) -#+end_src - -* which-func config -#+begin_src emacs-lisp - (use-package which-func - :init (which-function-mode)) -#+end_src - -* Shells and terminals -#+begin_src emacs-lisp - (use-package shell - :bind (("C-c t s" . shell))) - - (use-package eshell - :bind (("C-c t e" . eshell))) -#+end_src - -* Web browser -#+begin_src emacs-lisp :tangle yes - (use-package eww - :defer t - :custom - (browse-url-browser-function 'browse-url-default-browser) - (browse-url-new-window-flag t) - (eww-default-download-directory "~/Downloads/") - (eww-auto-rename-buffer 'title) - (eww-browse-url-new-window-is-tab nil)) - - -#+end_src diff --git a/config/diary.org b/config/diary.org deleted file mode 100644 index 5af87dd..0000000 --- a/config/diary.org +++ /dev/null @@ -1,27 +0,0 @@ -#+title: Diary and Calendar config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+language: en -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent -* Calendar -#+begin_src emacs-lisp - (setopt calendar-date-style 'iso - calendar-mark-holidays-flag t - calendar-mark-diary-entries-flag nil - calendar-view-holidays-initially-flag nil - calendar-view-diary-initially-flag nil) -#+end_src -* Appointment reminders -#+begin_src emacs-lisp - (setq appt-display-diary nil ; Don't display diary on startup - appt-display-format 'echo - appt-display-interval 5 - appt-message-warning-time 15) - (appt-activate +1) -#+end_src -** org-agenda integration -#+begin_src emacs-lisp - (with-eval-after-load 'org - (add-hook 'org-agenda-mode-hook #'org-agenda-to-appt)) -#+End_src diff --git a/config/elfeed.org b/config/elfeed.org deleted file mode 100644 index 6550699..0000000 --- a/config/elfeed.org +++ /dev/null @@ -1,56 +0,0 @@ -#+title: Elfeed Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent -#+begin_src emacs-lisp - (use-package elfeed - :bind (("C-c f f" . elfeed) - ("C-c f u" . elfeed-update)) - :hook (elfeed-search-mode . elfeed-update) - :custom - (elfeed-search-filter "@2-weeks-ago +unread") - :config - (require 'elfeed-org) - (require 'elfeed-tube)) -#+end_src -* elfeed-org -Manage elfeed subscriptions in an org-mode file instead of elisp. - -#+begin_src emacs-lisp - (use-package elfeed-org - :after (elfeed org) - :custom - (rmh-elfeed-org-files - (list - (expand-file-name "rss.org" elfeed-db-directory) - (expand-file-name "youtube.org" elfeed-db-directory))) - :config - (elfeed-org)) -#+end_src -* elfeed-tube -Use elfeed for YouTube subscriptions, including getting video transcripts. - -#+begin_src emacs-lisp - (use-package elfeed-tube - :after elfeed - :bind ( :map elfeed-show-mode-map - ("F" . elfeed-tube-fetch) - ([remap save-buffer] . elfeed-tube-save) - :map elfeed-search-mode-map - ("F" . elfeed-tube-fetch) - ([remap save-buffer] . elfeed-tube-save)) - :custom - (elfeed-tube-auto-save-p nil) - (elfeed-tube-auto-fetch-p t) - :config - (elfeed-tube-setup) - (require 'elfeed-tube-mpv)) - - (use-package elfeed-tube-mpv - :after elfeed-tube - :init (require 'mpv) - :bind ( :map elfeed-show-mode-map - ("C-c C-f" . elfeed-tube-mpv-follow-mode) - ("C-c C-w" . elfeed-tube-mpv-where))) -#+end_src diff --git a/config/email.org b/config/email.org deleted file mode 100644 index 4f58f0f..0000000 --- a/config/email.org +++ /dev/null @@ -1,315 +0,0 @@ -#+title: Email Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent -* Email -#+begin_src emacs-lisp - (setq sendmail-program (executable-find "msmtp") - send-mail-function #'sendmail-send-it - message-send-mail-function #'message-send-mail-with-sendmail - message-sendmail-f-is-evil t - message-sendmail-extra-arguments '("--read-envelope-from") - message-auto-save-directory nil - message-kill-buffer-on-exit t - mail-user-agent 'mu4e-user-agent) - - (set-variable read-mail-command 'mu4e) - - (use-package mu4e - :bind - (("C-c m" . mu4e) - :map mu4e-view-mode-map - ("o n" . mu4e-org-store-and-capture)) - :custom - (mu4e-read-option-use-builtin nil) - (mu4e-completing-read-function #'completing-read) - (mu4e-split-view 'horizontal) - (mu4e-attachment-dir "~/Downloads") - (mu4e-get-mail-command "mbsync -a") - (mu4e-update-interval (* 5 60)) ; Every 5 minutes - (mu4e-headers-auto-update nil) - (mu4e-sent-messages-behavior 'sent) - (mu4e-change-filenames-when-moving t) - (mu4e-context-policy 'pick-first) - (mu4e-compose-context-policy 'ask) - (mu4e-search-full nil) - (mu4e-search-include-related t) - (mu4e-search-threads t) - (mu4e-search-skip-duplicates t) - (mu4e-maildir-shortcuts '((:maildir "/Proton/Inbox/" :key ?p) - (:maildir "/iCloud/Inbox/" :key ?i) - (:maildir "/Outlook/Inbox/" :key ?w))) - (mu4e-bookmarks '((:name "Inbox" :query "maildir:/inbox/" :key ?i :favorite t) - (:name "Today" :query "date:today..now AND maildir:/inbox/" :key ?t) - (:name "Flagged" :query "flag:flagged AND NOT flag:trashed AND NOT maildir:/spam/ AND NOT maildir:/junk/" :key ?f) - (:name "Unread" :query "flag:unread AND NOT flag:trashed AND NOT maildir:/archive/ AND NOT maildir:/spam/ AND NOT maildir:/junk/" :key ?u :hide-unread t) - (:name "Spam" :query "maildir:/spam/ OR maildir:/junk/" :key ?s :hide-unread t))) - (mu4e-headers-visible-lines 3) - (mu4e-headers-fields - '((:human-date . 8) - (:flags . 10) - (:from . 22) - (:subject))) - (mu4e-headers-visible-flags - '(draft - flagged - unread - passed - replied - trashed - attach - calendar - encrypted - signed - list - personal)) - :config - (setq mu4e-use-fancy-chars t) - - ) -#+end_src -** Account contexts -#+begin_src emacs-lisp - (with-eval-after-load 'mu4e - (require 'mu4e-context) - (setq mu4e-contexts - (list - (make-mu4e-context - :name "Xenia" - :vars '( - (user-mail-address . "evie@xenia.me.uk") - (mu4e-sent-folder . "/Proton/Sent") - (mu4e-drafts-folder . "/Proton/Drafts") - (mu4e-trash-folder . "/Proton/Trash") - (mu4e-refile-folder . "/Proton/Archive") - )) - (make-mu4e-context - :name "Proton" - :match-func (lambda (msg) (when msg (string-prefix-p "/Proton" (mu4e-message-field msg :maildir)))) - :vars '( - (user-mail-address . "e.litherlandsmith@proton.me") - (mu4e-sent-folder . "/Proton/Sent") - (mu4e-drafts-folder . "/Proton/Drafts") - (mu4e-trash-folder . "/Proton/Trash") - (mu4e-refile-folder . "/Proton/Archive") - )) - (make-mu4e-context - :name "iCloud" - :match-func (lambda (msg) (when msg (string-prefix-p "/iCloud" (mu4e-message-field msg :maildir)))) - :vars '( - (user-mail-address . "e.litherlandsmith@icloud.com") - (mu4e-sent-folder . "/iCloud/Sent Messages") - (mu4e-drafts-folder . "/iCloud/Drafts") - (mu4e-trash-folder . "/iCloud/Deleted Messages") - (mu4e-refile-folder . "/iCloud/Archive") - )) - (make-mu4e-context - :name "Work" - :match-func (lambda (msg) (when msg (string-prefix-p "/Outlook" (mu4e-message-field msg :maildir)))) - :vars '( - (user-mail-address . "evie.litherland-smith@ukaea.uk") - (mu4e-sent-folder . "/Outlook/Sent") - (mu4e-drafts-folder . "/Outlook/Drafts") - (mu4e-trash-folder . "/Outlook/Trash") - (mu4e-refile-folder . "/Outlook/Archive") - (message-signature . (concat "Evelyn Litherland-Smith (she/they)\n" - "Spectroscopy Diagnostic Physicist\n" - "Plasma Science and Fusion Operations\n" - "UK Atomic Energy Authority")) - ))))) -#+end_src - -** Modeline configuration -#+begin_src emacs-lisp - (with-eval-after-load 'mu4e - (require 'mu4e-modeline) - (setq mu4e-modeline-all-read '("R:" . " ") - mu4e-modeline-all-clear '("C:" . " ") - mu4e-modeline-new-items '("N:" . " ") - mu4e-modeline-unread-items '("U:" . " ")) - (mu4e-modeline-mode +1)) -#+end_src - -** Headers mode glyphs -#+begin_src emacs-lisp - (with-eval-after-load 'mu4e - (setq mu4e-search-full-label '("F" . " ") - mu4e-search-hide-label '("H" . " ") - mu4e-search-related-label '("R" . " ") - mu4e-search-skip-duplicates-label '("D" . " ") - mu4e-search-threaded-label'("T" . " ") - mu4e-headers-draft-mark '("D" . " ") - mu4e-headers-flagged-mark '("F" . " ") - mu4e-headers-unread-mark '("u" . " ") - mu4e-headers-passed-mark '("P" . " ") - mu4e-headers-replied-mark '("R" . " ") - mu4e-headers-trashed-mark '("T" . " ") - mu4e-headers-attach-mark '("a" . " ") - mu4e-headers-calendar-mark '("c" . " ") - mu4e-headers-encrypted-mark '("x" . " ") - mu4e-headers-signed-mark '("s" . " ") - mu4e-headers-list-mark '("l" . " ") - mu4e-headers-personal-mark '("p" . " ") - mu4e-headers-seen-mark '("S" . " ") - mu4e-headers-new-mark '("N" . " ") - mu4e-headers-from-or-to-prefix '(" " . "To ") - mu4e-headers-thread-root-prefix '("* " . "* ") - mu4e-headers-thread-duplicate-prefix '("= " . "= ") - mu4e-headers-thread-blank-prefix '(" " . " ") - mu4e-headers-thread-single-orphan-prefix '("─>" . "─>") - mu4e-headers-thread-orphan-prefix '("┬>" . "┬>") - mu4e-headers-thread-connection-prefix '("│ " . "│ ") - mu4e-headers-thread-first-child-prefix '("├>" . "├>") - mu4e-headers-thread-child-prefix '("├>" . "├>") - mu4e-headers-thread-last-child-prefix '("└>" . "╰>"))) -#+end_src - -*** Custom marks -#+begin_src emacs-lisp - (with-eval-after-load 'mu4e - (setq mu4e-marks '((refile :char - ("r" . " ") - :prompt "refile" :dyn-target - (lambda - (target msg) - (mu4e-get-refile-folder msg)) - :action - (lambda - (docid msg target) - (mu4e--server-move docid - (mu4e--mark-check-target target) - "-N"))) - (delete :char - ("D" . " ") - :prompt "Delete" :show-target - (lambda - (target) - "delete") - :action - (lambda - (docid msg target) - (mu4e--server-remove docid))) - (flag :char - ("+" . " ") - :prompt "+flag" :show-target - (lambda - (target) - "flag") - :action - (lambda - (docid msg target) - (mu4e--server-move docid nil "+F-u-N"))) - (move :char - ("m" . " ") - :prompt "move" :ask-target mu4e--mark-get-move-target :action - (lambda - (docid msg target) - (mu4e--server-move docid - (mu4e--mark-check-target target) - "-N"))) - (read :char - ("!" . " ") - :prompt "!read" :show-target - (lambda - (target) - "read") - :action - (lambda - (docid msg target) - (mu4e--server-move docid nil "+S-u-N"))) - (trash :char - ("d" . " ") - :prompt "dtrash" :dyn-target - (lambda - (target msg) - (mu4e-get-trash-folder msg)) - :action - (lambda - (docid msg target) - (mu4e--server-move docid - (mu4e--mark-check-target target) - "+T-N"))) - (unflag :char - ("-" . " ") - :prompt "-unflag" :show-target - (lambda - (target) - "unflag") - :action - (lambda - (docid msg target) - (mu4e--server-move docid nil "-F-N"))) - (untrash :char - ("=" . " ") - :prompt "=untrash" :show-target - (lambda - (target) - "untrash") - :action - (lambda - (docid msg target) - (mu4e--server-move docid nil "-T"))) - (unread :char - ("?" . " ") - :prompt "?unread" :show-target - (lambda - (target) - "unread") - :action - (lambda - (docid msg target) - (mu4e--server-move docid nil "-S+u-N"))) - (unmark :char " " :prompt "unmark" :action - (mu4e-error "No action for unmarking")) - (action :char - ("a" . " ") - :prompt "action" :ask-target - (lambda nil - (mu4e-read-option "Action: " mu4e-headers-actions)) - :action - (lambda - (docid msg actionfunc) - (save-excursion - (when - (mu4e~headers-goto-docid docid) - (mu4e-headers-action actionfunc))))) - (something :char - ("*" . " ") - :prompt "*something" :action - (mu4e-error "No action for deferred mark"))))) -#+end_src - -** Desktop notifications -#+begin_src emacs-lisp - (with-eval-after-load 'mu4e - (require 'mu4e-notification) - (setq mu4e-notification-support t)) -#+end_src - -** Org-mode integration -#+begin_src emacs-lisp - (with-eval-after-load 'mu4e - (require 'mu4e-org)) -#+end_src - -** iCalendar integration -#+begin_src emacs-lisp - (use-package gnus-icalendar - :custom - (gnus-icalendar-org-capture-file (expand-file-name "calendar/inbox.org" org-directory)) - (gnus-icalendar-org-capture-headline '("Email")) - :config (gnus-icalendar-org-setup)) - - (use-package mu4e-icalendar - :after mu4e - :custom - (mu4e-icalendar-trash-after-reply nil) - :config - (mu4e-icalendar-setup) - (require 'gnus-icalendar) - (gnus-icalendar-org-setup)) - - (with-eval-after-load 'mu4e - (require 'mu4e-icalendar)) -#+end_src diff --git a/config/ide.org b/config/ide.org deleted file mode 100644 index 5dfd9d1..0000000 --- a/config/ide.org +++ /dev/null @@ -1,267 +0,0 @@ -#+title: IDE Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent - -#+begin_src emacs-lisp - (use-package rainbow-delimiters - :hook (prog-mode)) - - (use-package direnv - :custom (direnv-always-show-summary nil) - :config (direnv-mode +1)) -#+end_src - -* Grand Unified Debugger -#+begin_src emacs-lisp - (with-eval-after-load 'gud - (setopt gdb-many-windows t)) -#+end_src - -* Tree-sitter -Set treesit to fontify all elements, default was 3 (out of 4) -#+begin_src emacs-lisp - (use-package treesit - :custom - (treesit-font-lock-level 4)) - - (use-package treesit-auto - :after (treesit) - :config - (treesit-auto-add-to-auto-mode-alist) - (global-treesit-auto-mode +1)) - - (with-eval-after-load 'rust-mode - (setq rust-ts-mode-hook rust-mode-hook)) -#+end_src - -* Eldoc -#+begin_src emacs-lisp :tangle yes - (use-package eldoc - :custom - (eldoc-echo-area-display-truncation-message nil) - (eldoc-echo-area-prefer-doc-buffer t) - (eldoc-echo-area-use-multiline-p nil)) -#+end_src - -* Eglot LSP -#+begin_src emacs-lisp - (use-package eglot - :demand - :bind (("C-c c e" . eglot) - ("C-c c C-e" . eglot-reconnect) - ("C-c c a" . eglot-code-actions) - ("C-c c r" . eglot-rename)) - :hook (((nix-mode - lua-mode - python-base-mode - rust-ts-mode - fortran-mode - f90-mode - js-ts-mode) - . eglot-ensure) - (eglot-managed-mode . (lambda () (add-to-list 'flymake-diagnostic-functions #'eglot-flymake-backend t)))) - :custom - (eglot-extend-to-xref t) - (eglot-autoshutdown t) - (eglot-autoreconnect nil) - :config - (setq eglot-stay-out-of '(flymake)) - (setq-default eglot-workspace-configuration - '( :pylsp ( :plugins - ( :jedi_completion - ( :enabled t - :include_params t - :include_class_objects t - :include_function_objects t - :fuzzy t) - :jedi_definition (:enabled t) - :jedi_hover (:enabled t))) - :nil ( :nix - ( :maxMemoryMB nil - :flake - ( :autoArchive t - :nixpkgsInputName "nixpkgs"))))) - (with-eval-after-load 'cape - (advice-add 'eglot-completion-at-point :around #'cape-wrap-buster) - (defun my/eglot-capf () - (setq-local completion-at-point-functions - (list (cape-capf-super - #'eglot-completion-at-point - #'tempel-expand - #'cape-file)))) - (add-hook 'eglot-managed-mode-hook #'my/eglot-capf))) -#+end_src - -* Apheleia formatting -#+begin_src emacs-lisp - (use-package apheleia - :bind (("C-c c f" . apheleia-format-buffer)) - :hook (prog-mode) - :custom (apheleia-remote-algorithm 'local) - :config - (add-to-list 'apheleia-formatters '(alejandra . ("alejandra"))) - (add-to-list 'apheleia-mode-alist '(nix-mode . alejandra)) - (add-to-list 'apheleia-mode-alist '(python-mode . (ruff isort))) - (add-to-list 'apheleia-mode-alist '(python-ts-mode . (ruff isort)))) -#+end_src -* Flymake -#+begin_src emacs-lisp :tangle yes - (use-package flymake - :bind (("C-c C-." . flymake-goto-next-error) - ("C-c C-," . flymake-goto-prev-error)) - :hook (prog-mode . flymake-mode) - :config (require 'flymake-collection)) -#+end_src - -** Diagnostics in popup -#+begin_src emacs-lisp :tangle yes - (use-package flymake-popon - :after flymake - :config - (global-flymake-popon-mode +1)) -#+end_src - -** flymake-collection -#+begin_src emacs-lisp - (use-package flymake-collection - :defer - :after flymake - :custom - ;; Extra mypy config - (flymake-collection-mypy-args '("--ignore-missing-imports" - "--follow-imports=skip" - "--check-untyped-defs" - "--warn-unreachable" - "--show-error-codes" - "--no-color-output"))) -#+end_src - -** shellcheck -#+begin_src emacs-lisp - (use-package flymake-shellcheck - :after flymake - :hook (sh-mode . flymake-shellcheck-load)) -#+end_src - -** clippy -#+begin_src emacs-lisp - (use-package flymake-clippy - :after flymake - :hook ((rust-mode rust-ts-mode) . flymake-clippy-setup-backend)) -#+end_src - -** eslint -#+begin_src emacs-lisp - (use-package flymake-eslint - :after flymake - :hook (js-ts-mode . flymake-eslint-enable)) -#+end_src - -** ruff -#+begin_src emacs-lisp - (use-package flymake-ruff - :after flymake - :hook (python-base-mode . flymake-ruff-load)) -#+end_src - -* Project -#+begin_src emacs-lisp - (setq project-switch-use-entire-map t - project-switch-commands '((project-find-file "Find file") - (project-find-regexp "Find regexp") - (project-find-dir "Find directory") - (project-eshell "Eshell") - (magit-project-status "Magit"))) -#+end_src -* Version control -** Magit -#+begin_src emacs-lisp - (use-package magit - :bind (("C-c g g" . magit-status) - ("C-c g d" . magit-dispatch) - ("C-c g f" . magit-file-dispatch) - ("C-c g p" . magit-pull) - ("C-c g P" . magit-push) - (" " . emms-pause) - ("" . emms-previous) - ("" . emms-next) - :map emms-browser-mode-map - ("e" . emms-smart-browse) - ("P" . emms-pause) - ("S" . emms-stop) - ("z" . emms-toggle-repeat-track) - :map emms-playlist-mode-map - ("e" . emms-smart-browse)) - :custom - (emms-source-file-default-directory "~/Music/") - (emms-lyrics-dir (expand-file-name "lyrics" "~/Music/")) - (emms-browser-covers #'emms-browser-cache-thumbnail-async) - (emms-browser-default-covers (list (expand-file-name "placeholder.jpg" "~/Music/"))) - (emms-repeat-playlist t) - :config - (emms-all) - (emms-default-players) - (emms-mpris-enable) - (emms-cache-enable) - (add-hook 'emms-player-started-hook #'emms-show)) -#+end_src diff --git a/config/newsticker.org b/config/newsticker.org deleted file mode 100644 index f4c88c3..0000000 --- a/config/newsticker.org +++ /dev/null @@ -1,22 +0,0 @@ -#+title: Newsticker Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent -#+begin_src emacs-lisp - (use-package newsticker - :custom - (newsticker-url-list-defaults '(("Emacs Wiki" "https://www.emacswiki.org/emacs?action=rss" nil 3600) - ("LWN (Linux Weekly News)" "https://lwn.net/headlines/rss") - ("Quote of the day" "https://feeds.feedburner.com/quotationspage/qotd" "07:00" 86400) - ("The Register" "https://www.theregister.co.uk/headlines.rss") - ("slashdot" "http://rss.slashdot.org/Slashdot/slashdot" nil 3600) - ("Wired News" "https://www.wired.com/feed/rss"))) - (newsticker-url-list '(("Proton Blog" "https://proton.me/blog/feed" nil nil nil) - ("The Friday Chillout" "https://podcasts.watchnebula.com/chilloutpod" nil nil nil) - ("SystemCrafters News" "https://systemcrafters.net/rss/news.xml" nil nil nil) - ("Atlas NYXT News" "https://nyxt.atlas.engineer/feed" nil nil nil) - ("LiberaChat" "https://libera.chat/atom.xml" nil nil nil) - ("This week in Rust" "https://this-week-in-rust.org/rss.xml" nil nil nil) - ("Forgejo Feed" "https://forgejo.org/rss.xml" nil nil nil)))) -#+end_src diff --git a/config/org-mode.org b/config/org-mode.org deleted file mode 100644 index 2925d3b..0000000 --- a/config/org-mode.org +++ /dev/null @@ -1,293 +0,0 @@ -#+title: Org-mode Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent - -For reference information, see [[https://orgmode.com][Org-mode website]] - -#+begin_src emacs-lisp :results output silent - (setq org-directory "~/Documents/Org" - org-default-notes-file (expand-file-name "notes.org" org-directory) - org-attach-id-dir (expand-file-name "data/" org-directory) - org-hide-emphasis-markers nil - org-pretty-entities-include-sub-superscripts t - org-fontify-done-headline t - org-fontify-todo-headline t - org-fontify-emphasized-text t - org-fontify-quote-and-verse-blocks t - org-src-window-setup 'current-window - org-tags-column 0 - org-outline-path-complete-in-steps nil - org-return-follows-link t - org-mouse-1-follows-link t - org-link-descriptive t - org-enforce-todo-dependencies t - org-enforce-todo-checkbox-dependencies t - org-refile-use-outline-path t - org-refile-allow-creating-parent-nodes t - org-refile-use-outline-path 'file - org-refile-targets '((nil . (:maxlevel . 2)) - (org-agenda-files . (:maxlevel . 2)))) - - (use-package org - :custom - (org-yank-folded-subtrees nil) - (org-yank-adjusted-subtrees t) - (org-M-RET-may-split-line '((default . nil) - (headline . nil) - (item . nil) - (table . t))) - (org-babel-load-languages '((emacs-lisp . t) - (lua . t) - (python . t))) - :config - ;; Ensure tables and src blocks use fixed-pitch font - (set-face-attribute 'org-table nil :inherit 'fixed-pitch) - (set-face-attribute 'org-block nil :inherit 'fixed-pitch) - ;; Let quote and verse blocks use variable-pitch font, if configured - (set-face-attribute 'org-quote nil :inherit 'variable-pitch) - (set-face-attribute 'org-verse nil :inherit 'variable-pitch) - ;; Enable auto-fill in org-mode buffers - (add-hook 'org-mode-hook #'turn-on-auto-fill) - ;; Visually indent org-mode files to a given header level - (require 'org-indent) - (add-hook 'org-mode-hook #'(lambda () (org-indent-mode +1)))) -#+end_src - -* Keymaps -#+begin_src emacs-lisp :results output silent - (keymap-global-set "C-c o ." #'calendar) - (keymap-global-set "C-c o e" #'org-edit-src-code) - (keymap-global-set "C-c o a" #'org-agenda) - (keymap-global-set "C-c o n" #'org-capture) - (keymap-global-set "C-c o l" #'org-capture-goto-last-stored) -#+end_src - -* Capture templates -#+begin_src emacs-lisp :results output silent - (setq org-capture-templates - '(("n" "Note" entry - (file+olp+datetree "notes.org" "Inbox") - "* %?") - ("t" "Task" entry - (file+olp+datetree "tasks.org" "Inbox") - "* TODO [#B] %?") - ("r" "Reading List" entry - (file+olp+datetree "reading.org" "Inbox") - "* %?") - ("d" "Diary Event" entry - (file+datetree "diary.org") - "* %?\n%^T") - ("m" "Email Workflow") - ("mf" "Follow Up" entry - (file+olp+datetree "tasks.org" "Inbox") - "* TODO Follow up with %:fromname on %a :email:\nDEADLINE: %^{deadline}t\n\n%i") - ("mr" "Read Later" entry - (file+olp+datetree "reading.org" "Inbox") - "* TODO Read %:subject :email:\nSCHEDULED: %^{scheduled}t\n\n%i") - )) -#+end_src - -* org-roam -#+begin_src emacs-lisp - (use-package org-roam - :after org - :bind (("C-c o r i" . org-roam-node-insert) - ("C-c o r f" . org-roam-node-find) - ("C-c o r n" . org-roam-capture)) - :custom - (org-roam-directory (expand-file-name "roam" org-directory)) - (org-roam-completion-everywhere nil) - (org-roam-node-display-template (concat "${title:*} " - (propertize "${tags:24}" 'face 'org-tag))) - :config - (mkdir org-roam-directory t) - (add-to-list 'display-buffer-alist - '("\\*org-roam\\*" - (display-buffer-in-side-window) - (side . right) - (slot . 0) - (window-width . 0.33) - (window-parameters . ((no-other-window . t) - (no-delete-other-windows . t))))) - (org-roam-db-autosync-mode +1)) -#+end_src -** Capture templates -#+begin_src emacs-lisp - (with-eval-after-load 'org-roam - (setq org-roam-capture-templates - '(("d" "default" plain "%?" - :target (file+head "${slug}.org" - "#+title: ${title}\n#+author: %n") - :unnarrowed t)))) -#+end_src - -** Graph -#+begin_src emacs-lisp - (with-eval-after-load 'org-roam - (setq org-roam-graph-executable "dot" - org-roam-graph-filetype "svg")) -#+end_src -* org-agenda -#+begin_src emacs-lisp :results output silent - (setq org-agenda-span 'week - org-agenda-start-on-weekday 1 - org-agenda-sticky nil - org-agenda-window-setup 'current-window - org-agenda-tags-column 0 - org-agenda-diary-file (expand-file-name "calendar/inbox.org" org-directory) - org-agenda-include-diary nil - org-agenda-include-deadlines t - org-agenda-todo-ignore-scheduled 'future - org-agenda-todo-ignore-deadlines 'far - org-agenda-prefix-format '((agenda . " %-12:c%?-12t% s") - (todo . " %-12:c") - (tags . " %-12:c") - (search . " %-12:c"))) - - (setopt org-agenda-files (list - (expand-file-name org-directory) - (expand-file-name "calendar" org-directory) - (expand-file-name "journal" org-directory) - (expand-file-name "projects" org-directory))) -#+end_src -** iCalendar integration -#+begin_src emacs-lisp - (setopt org-icalendar-store-UID t - org-icalendar-alarm-time 15 - org-icalendar-include-body t - org-icalendar-include-sexps t - org-icalendar-include-todo t - org-icalendar-combined-name "org-mode" - org-icalendar-combined-description "Emacs org-mode combined export") -#+end_src -* org-journal -#+begin_src emacs-lisp :results output silent - (use-package org-journal - :bind (("C-c o j" . org-journal-new-entry)) - :custom - (org-journal-dir (expand-file-name "journal" org-directory)) - (org-journal-enable-cache t) - (org-journal-file-type 'monthly) - (org-journal-file-format "%Y-%m.org")) -#+end_src -* org-noter -#+begin_src emacs-lisp - (use-package org-noter - :after (org doc-view) - :commands (org-noter) - :custom - (org-noter-always-create-frame nil) - (org-noter-kill-frame-at-session-end nil) - (org-noter-auto-save-last-location t) - (org-noter-default-notes-file-names '("noter.org")) - (org-noter-doc-property-in-notes t) - (org-noter-notes-search-path '("~/Documents/References/notes/" - "~/Documents")) - (org-noter-prefer-root-as-file-level nil)) -#+end_src - -* citar -#+begin_src emacs-lisp :results output silent - (use-package citar - :custom - (org-cite-global-bibliography '("~/Documents/References/main.bib")) - (org-cite-insert-processor 'citar) - (org-cite-follow-processor 'citar) - (org-cite-activate-processor 'citar) - (citar-bibliography org-cite-global-bibliography) - (citar-library-paths '("~/Documents/References/library/")) - (citar-notes-paths '("~/Documents/References/notes/")) - :hook - (LaTeX-mode . citar-capf-setup) - (org-mode . citar-capf-setup) - :bind (("C-c o c" . citar-open)) - :config - (require 'nerd-icons) - (require 'citar-embark) - (defvar citar-indicator-files-icons - (citar-indicator-create - :symbol (nerd-icons-octicon - "nf-oct-file" - :face 'nerd-icons-green - :v-adjust -0.1) - :function #'citar-has-files - :padding " " ; need this because the default padding is too low for these icons - :tag "has:files")) - (defvar citar-indicator-links-icons - (citar-indicator-create - :symbol (nerd-icons-octicon - "nf-oct-link" - :face 'nerd-icons-orange - :v-adjust 0.01) - :function #'citar-has-links - :padding " " ; need this because the default padding is too low for these icons - :tag "has:links")) - (defvar citar-indicator-notes-icons - (citar-indicator-create - :symbol (nerd-icons-octicon - "nf-oct-note" - :face 'nerd-icons-blue - :v-adjust -0.3) - :function #'citar-has-notes - :padding " " ; need this because the default padding is too low for these icons - :tag "has:notes")) - (defvar citar-indicator-cited-icons - (citar-indicator-create - :symbol (nerd-icons-octicon - "nf-oct-circle" - :face 'nerd-icon-green) - :function #'citar-is-cited - :padding " " ; need this because the default padding is too low for these icons - :tag "is:cited")) - (setq citar-indicators (list citar-indicator-files-icons - citar-indicator-links-icons - citar-indicator-notes-icons - citar-indicator-cited-icons))) -#+end_src - -** Citar Embark integration -#+begin_src emacs-lisp - (use-package citar-embark - :after (citar embark) - :init - (citar-embark-mode +1)) -#+end_src - -* LaTeX -#+begin_src emacs-lisp - (setq org-latex-compiler "lualatex") - (setq org-preview-latex-default-process 'dvisvgm) -#+end_src - -* Publishing config -#+begin_src emacs-lisp - (setq org-publish-project-alist - '(("landing" - :base-directory "~/Documents/Web/landing/" - :base-extension "org" - :exclude "README.org" - :recursive t - :publishing-function org-html-publish-to-html - :publishing-directory "/sshx:xenia@legion:/var/www/landing" - :section-numbers nil - :with-author t - :with-email t - :with-toc nil - ;; :html-head "" - ) - ("blog" - :base-directory "~/Documents/Web/blog/" - :base-extension "org" - :exclude "README.org" - :recursive t - :publishing-function org-html-publish-to-html - :publishing-directory "/sshx:xenia@legion:/var/www/blog" - :section-numbers nil - :with-author t - :with-email t - :with-toc t - :html-head "" - ))) -#+end_src diff --git a/config/pass.org b/config/pass.org deleted file mode 100644 index da0ada0..0000000 --- a/config/pass.org +++ /dev/null @@ -1,20 +0,0 @@ -#+title: Password Store Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent - -#+begin_src emacs-lisp - (use-package password-store - :defer t) - - (use-package password-store-otp - :defer t) - - (use-package pass - :defer t - :bind (("C-c P" . pass)) - :custom - (pass-show-keybindings nil) - (pass-username-field "login")) -#+end_src diff --git a/config/tramp.org b/config/tramp.org deleted file mode 100644 index fd5e1c8..0000000 --- a/config/tramp.org +++ /dev/null @@ -1,37 +0,0 @@ -#+title: TRAMP Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent - -#+begin_src emacs-lisp :tangle yes - (use-package tramp - :defer t - :config - (add-to-list 'tramp-remote-path 'tramp-own-remote-path)) -#+end_src - -* Connection variables -#+begin_src emacs-lisp - (connection-local-set-profile-variables - 'remote-disable-apheleia - '((apheleia-mode . nil) - (apheleia-inhibit . t))) - - (connection-local-set-profile-variables - 'remote-no-corfu-auto - '((corfu-auto . nil))) - - (connection-local-set-profiles - '(:application tramp) - 'remote-no-corfu-auto) - - (connection-local-set-profiles - '(:application tramp :machine "heimdall") - 'remote-disable-apheleia) - - (connection-local-set-profiles - '(:application tramp :machine "freia") - 'remote-disable-apheleia) - -#+end_src diff --git a/config/ui.org b/config/ui.org deleted file mode 100644 index 2e4a6ed..0000000 --- a/config/ui.org +++ /dev/null @@ -1,190 +0,0 @@ -#+title: UI Config -#+author: Evie Litherland-Smith -#+email: evie@xenia.me.uk -#+filetags: :emacs:config:org: -#+property: header-args:emacs-lisp :tangle yes :mkdirp yes :results output silent -#+begin_src emacs-lisp - (setq inhibit-splash-screen t - use-dialog-box nil - minibuffer-follows-selected-frame nil - truncate-lines nil - truncate-partial-width-windows nil) - - (global-prettify-symbols-mode +1) - (global-display-line-numbers-mode -1) - (tool-bar-mode -1) - - (add-hook 'prog-mode-hook #'(lambda () (display-line-numbers-mode +1))) - - (use-package which-key - :config (which-key-mode +1)) - - (use-package page-break-lines - :config (global-page-break-lines-mode +1)) - - (electric-pair-mode +1) - (show-paren-mode +1) - - ;; add visual pulse when changing focus, like beacon but built-in - ;; from from https://karthinks.com/software/batteries-included-with-emacs/ - (defun pulse-line (&rest _) - "Pulse the current line." - (pulse-momentary-highlight-one-line (point))) - - (dolist (command '(scroll-up-command - scroll-down-command - recenter-top-bottom - other-window)) - (advice-add command :after #'pulse-line)) -#+end_src -* Theme, font and nerd-icons -** catppuccin-theme -#+begin_src emacs-lisp - (use-package catppuccin-theme - :demand - :custom - (catppuccin-flavour 'mocha) - (catppuccin-italic-blockquotes t) - (catppuccin-italic-comments t) - (catppuccin-italic-variables nil) - :config - (load-theme 'catppuccin t)) -#+end_src -** modus-vivendi-tinted -Removed in favour of [[https://github.com/catppuccin/emacs][Catppuccin (emacs)]] theme, keeping here for the config options though in case I want to use it again for anything. -#+begin_src emacs-lisp - ;; Theme - (use-package modus-themes - :disabled t - :custom - (modus-themes-disable-other-themes t) - (modus-themes-to-toggle '(modus-operandi-tinted modus-vivendi-tinted)) - (modus-themes-bold-constructs t) - (modus-themes-italic-constructs t) - (modus-themes-org-blocks nil) - (modus-themes-completions '((matches . (extrabold underline)) - (selection . (semibold italic)))) - (modus-themes-headings '((1 . (1.4)) - (2 . (1.3)) - (3 . (1.2)) - (agenda-date . (1.3)) - (agenda-structure . (light 1.8)) - (t . (1.1)))) - :config - (modus-themes-load-theme 'modus-vivendi-tinted)) -#+end_src -** nerd-icons -#+begin_src emacs-lisp - (use-package nerd-icons - :config (nerd-icons-set-font "Symbols Nerd Font Mono-12")) - - (use-package nerd-icons-dired - :after nerd-icons - :hook (dired-mode)) - - (use-package nerd-icons-ibuffer - :after nerd-icons - :hook (ibuffer-mode)) - - (use-package nerd-icons-completion - :after nerd-icons - :config (nerd-icons-completion-mode +1)) - - (use-package nerd-icons-corfu - :after (corfu nerd-icons) - :config (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter)) - - (keymap-global-set "C-c i n" #'nerd-icons-insert) -#+end_src -** Font ligatures -#+begin_src emacs-lisp - (use-package ligature - :config - (ligature-set-ligatures - '(text-mode prog-mode org-mode) - '("-<<" "-<" "-<-" "<--" "<---" "<<-" "<-" "->" "->>" "-->" "--->" "->-" ">-" ">>-" - "=<<" "=<" "=<=" "<==" "<===" "<<=" "<=" "=>" "=>>" "==>" "===>" "=>=" ">=" ">>=" - "<->" "<-->" "<--->" "<---->" "<=>" "<==>" "<===>" "<====>" "::" ":::" "__" - "<~~" "" "/>" "~~>" "==" "!=" "/=" "~=" "<>" "===" "!==" "!===" "=/=" "=!=" - "<:" ":=" "*=" "*+" "<*" "<*>" "*>" "<|" "<|>" "|>" "<." "<.>" ".>" "+*" "=*" "=:" ":>" - "(*" "*)" "/*" "*/" "[|" "|]" "{|" "|}" "++" "+++" "\\/" "/\\" "|-" "-|" "" "--->" "->-" ">-" ">>-" + "=<<" "=<" "=<=" "<==" "<===" "<<=" "<=" "=>" "=>>" "==>" "===>" "=>=" ">=" ">>=" + "<->" "<-->" "<--->" "<---->" "<=>" "<==>" "<===>" "<====>" "::" ":::" "__" + "<~~" "" "/>" "~~>" "==" "!=" "/=" "~=" "<>" "===" "!==" "!===" "=/=" "=!=" + "<:" ":=" "*=" "*+" "<*" "<*>" "*>" "<|" "<|>" "|>" "<." "<.>" ".>" "+*" "=*" "=:" ":>" + "(*" "*)" "/*" "*/" "[|" "|]" "{|" "|}" "++" "+++" "\\/" "/\\" "|-" "-|" "