diff options
Diffstat (limited to 'extras')
-rw-r--r-- | extras/base.el | 195 | ||||
-rw-r--r-- | extras/dev.el | 104 | ||||
-rw-r--r-- | extras/email.el | 30 | ||||
-rw-r--r-- | extras/org-intro.txt | 91 | ||||
-rw-r--r-- | extras/org.el | 161 | ||||
-rw-r--r-- | extras/researcher.el | 99 | ||||
-rw-r--r-- | extras/vim-like.el | 36 | ||||
-rw-r--r-- | extras/writer.el | 62 |
8 files changed, 0 insertions, 778 deletions
diff --git a/extras/base.el b/extras/base.el deleted file mode 100644 index 7f4dd1a..0000000 --- a/extras/base.el +++ /dev/null @@ -1,195 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Base enhancements - -;;; Usage: Append or require this file from init.el to enable various UI/UX -;;; enhancements. -;;; -;;; The consult package in particular has a vast number of functions that you -;;; can use as replacements to what Emacs provides by default. Please see the -;;; consult documentation for more information and help: -;;; -;;; https://github.com/minad/consult -;;; -;;; In particular, many users may find `consult-line' to be more useful to them -;;; than isearch, so binding this to `C-s' might make sense. This is left to the -;;; user to configure, however, as isearch and consult-line are not equivalent. - -;;; Contents: -;;; -;;; - Motion aids -;;; - Power-ups: Embark and Consult -;;; - Minibuffer and completion -;;; - Misc. editing enhancements - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Motion aids -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(use-package avy - :ensure t - :demand t - :bind (("C-c j" . avy-goto-line) - ("s-j" . avy-goto-char-timer))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Power-ups: Embark and Consult -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Consult: Misc. enhanced commands -(use-package consult - :ensure t - :bind ( - ;; Drop-in replacements - ("C-x b" . consult-buffer) ; orig. switch-to-buffer - ("M-y" . consult-yank-pop) ; orig. yank-pop - ;; Searching - ("M-s r" . consult-ripgrep) - ("M-s l" . consult-line) ; Alternative: rebind C-s to use - ("M-s s" . consult-line) ; consult-line instead of isearch, bind - ("M-s L" . consult-line-multi) ; isearch to M-s s - ("M-s o" . consult-outline) - ;; Isearch integration - :map isearch-mode-map - ("M-e" . consult-isearch-history) ; orig. isearch-edit-string - ("M-s e" . consult-isearch-history) ; orig. isearch-edit-string - ("M-s l" . consult-line) ; needed by consult-line to detect isearch - ("M-s L" . consult-line-multi) ; needed by consult-line to detect isearch - ) - :config - ;; Narrowing lets you restrict results to certain groups of candidates - (setq consult-narrow-key "<")) - -;; Embark: supercharged context-dependent menu; kinda like a -;; super-charged right-click. -(use-package embark - :ensure t - :demand t - :after avy - :bind (("C-c a" . embark-act)) ; bind this to an easy key to hit - :init - ;; Add the option to run embark when using avy - (defun bedrock/avy-action-embark (pt) - (unwind-protect - (save-excursion - (goto-char pt) - (embark-act)) - (select-window - (cdr (ring-ref avy-ring 0)))) - t) - - ;; After invoking avy-goto-char-timer, hit "." to run embark at the next - ;; candidate you select - (setf (alist-get ?. avy-dispatch-alist) 'bedrock/avy-action-embark)) - -(use-package embark-consult - :ensure t) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Minibuffer and completion -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Vertico: better vertical completion for minibuffer commands -(use-package vertico - :ensure t - :init - ;; You'll want to make sure that e.g. fido-mode isn't enabled - (vertico-mode)) - -(use-package vertico-directory - :ensure nil - :after vertico - :bind (:map vertico-map - ("M-DEL" . vertico-directory-delete-word))) - -;; Marginalia: annotations for minibuffer -(use-package marginalia - :ensure t - :config - (marginalia-mode)) - -;; Corfu: Popup completion-at-point -(use-package corfu - :ensure t - :init - (global-corfu-mode) - :bind - (:map corfu-map - ("SPC" . corfu-insert-separator) - ("C-n" . corfu-next) - ("C-p" . corfu-previous))) - -;; Part of corfu -(use-package corfu-popupinfo - :after corfu - :ensure nil - :hook (corfu-mode . corfu-popupinfo-mode) - :custom - (corfu-popupinfo-delay '(0.25 . 0.1)) - (corfu-popupinfo-hide nil) - :config - (corfu-popupinfo-mode)) - -;; Make corfu popup come up in terminal overlay -(use-package corfu-terminal - :if (not (display-graphic-p)) - :ensure t - :config - (corfu-terminal-mode)) - -;; Fancy completion-at-point functions; there's too much in the cape package to -;; configure here; dive in when you're comfortable! -(use-package cape - :ensure t - :init - (add-to-list 'completion-at-point-functions #'cape-dabbrev) - (add-to-list 'completion-at-point-functions #'cape-file)) - -;; Pretty icons for corfu -(use-package kind-icon - :if (display-graphic-p) - :ensure t - :after corfu - :config - (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)) - -(use-package eshell - :init - (defun bedrock/setup-eshell () - ;; Something funny is going on with how Eshell sets up its keymaps; this is - ;; a work-around to make C-r bound in the keymap - (keymap-set eshell-mode-map "C-r" 'consult-history)) - :hook ((eshell-mode . bedrock/setup-eshell))) - -;; Eat: Emulate A Terminal -(use-package eat - :ensure t - :custom - (eat-term-name "xterm") - :config - (eat-eshell-mode) ; use Eat to handle term codes in program output - (eat-eshell-visual-command-mode)) ; commands like less will be handled by Eat - -;; Orderless: powerful completion style -(use-package orderless - :ensure t - :config - (setq completion-styles '(orderless))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Misc. editing enhancements -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Modify search results en masse -(use-package wgrep - :ensure t - :config - (setq wgrep-auto-save-buffer t)) diff --git a/extras/dev.el b/extras/dev.el deleted file mode 100644 index f1a02d4..0000000 --- a/extras/dev.el +++ /dev/null @@ -1,104 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Development tools - -;;; Usage: Append or require this file from init.el for some software -;;; development-focused packages. -;;; -;;; It is **STRONGLY** recommended that you use the base.el config if you want to -;;; use Eglot. Lots of completion things will work better. -;;; -;;; This will try to use tree-sitter modes for many languages. Please run -;;; -;;; M-x treesit-install-language-grammar -;;; -;;; Before trying to use a treesit mode. - -;;; Contents: -;;; -;;; - Built-in config for developers -;;; - Version Control -;;; - Common file types -;;; - Eglot, the built-in LSP client for Emacs - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Built-in config for developers -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(use-package emacs - :config - ;; Treesitter config - - ;; Tell Emacs to prefer the treesitter mode - ;; You'll want to run the command `M-x treesit-install-language-grammar' before editing. - (setq major-mode-remap-alist - '((yaml-mode . yaml-ts-mode) - (bash-mode . bash-ts-mode) - (js2-mode . js-ts-mode) - (typescript-mode . typescript-ts-mode) - (json-mode . json-ts-mode) - (css-mode . css-ts-mode) - (python-mode . python-ts-mode))) - :hook - ;; Auto parenthesis matching - ((prog-mode . electric-pair-mode))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Version Control -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Magit: best Git client to ever exist -(use-package magit - :ensure t - :bind (("C-x g" . magit-status))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Common file types -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(use-package markdown-mode - :hook ((markdown-mode . visual-line-mode))) - -(use-package yaml-mode - :ensure t) - -(use-package json-mode - :ensure t) - -;; Emacs ships with a lot of popular programming language modes. If it's not -;; built in, you're almost certain to find a mode for the language you're -;; looking for with a quick Internet search. - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Eglot, the built-in LSP client for Emacs -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Helpful resources: -;; -;; - https://www.masteringemacs.org/article/seamlessly-merge-multiple-documentation-sources-eldoc - -(use-package eglot - ;; no :ensure t here because it's built-in - - ;; Configure hooks to automatically turn-on eglot for selected modes - ; :hook - ; (((python-mode ruby-mode elixir-mode) . eglot)) - - :custom - (eglot-send-changes-idle-time 0.1) - (eglot-extend-to-xref t) ; activate Eglot in referenced non-project files - - :config - (fset #'jsonrpc--log-event #'ignore) ; massive perf boost---don't log every event - ;; Sometimes you need to tell Eglot where to find the language server - ; (add-to-list 'eglot-server-programs - ; '(haskell-mode . ("haskell-language-server-wrapper" "--lsp"))) - ) diff --git a/extras/email.el b/extras/email.el deleted file mode 100644 index 2ff7dd4..0000000 --- a/extras/email.el +++ /dev/null @@ -1,30 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Email - -;;; Usage: Append or require this file from init.el for Email in Emacs. You will -;;; need to do some heavy customization depending on your email provider. - -;;; Contents: -;;; -;;; - Core Email Packages -;;; - Sample Setup: Gmail -;;; - Sample Setup: Fastmail - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Core Email Packages -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Sample Setup: Gmail -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Sample Setup: Fastmail -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/extras/org-intro.txt b/extras/org-intro.txt deleted file mode 100644 index ca56bf4..0000000 --- a/extras/org-intro.txt +++ /dev/null @@ -1,91 +0,0 @@ -Many people use Emacs just so they can use org-mode. If you're one of them, -welcome! - -This is a short introduction to get an overview of what org-mode does. - -Org-mode is hard to understand because there are broadly three different things -that org-mode does. They're related but distinct enough to make things -confusing. We'll focus on three different use cases for org-mode: - - - org-mode as markup - - org-mode as a task tracker - - org-mode as a computational notebook - -Org-mode as markup -================== - -Org-mode is first and foremost a lightweight markup language, just like -Markdown. (In fact, they were developed at around the same time.) There are a -few differences in syntax, but if you're already familiar with the ideas behind -Markdown you should be just fine. - -If you've never worked with something like Markdown before, you can think of it -as a system of special characters that indicate some formatting, e.g. you mark -text as being *bold*, _underlined_, or /italicized/ by surrounding it with -asterisks, underscores, and slashes respectively. - -Once you've authored a file with org-mode, you can use Emacs to export the -org-mode into another format, like HTML, Markdown, ODT, or PDF with LaTeX. Run -`org-export` to bring up the export menu. - -Org-mode as a task tracker -========================== - -Like Markdown, org-mode has headings. Instead of starting headings with one or -more "#" signs, org-mode uses asterisks. An org mode heading looks like this: - - * Heading - - Lorem ipsum… - - ** Subheading - - Dolor sit amet… - - ** Another subheading - - Magister Ludi… - - * Another top-level heading - - Quam elivit… - -*Any* heading can become a task. This might feel overwhelming, and rightly so. -For now, just start with a list of top-level headings with the TODO keyword. - - * TODO Do important thing - * TODO Take Yessica to get her haircut - * TODO Finish configuring Emacs - -You can associate deadlines, notes, tags, attachments, different TODO states, -etc. to these headlines. Read the org-mode manual for more information. - -While there are cases when you might want to put a TODO item in an arbitrary -file, most of the time these TODOs will go into an agenda file. - -The `org-directory` and `org-agenda-files` variables control where org-mode -looks to find TODO items to generate what's called an agenda: an agenda is a -view of all your headlines with TODO (or other states like WAITING, as -configured) status set. The agenda usually organizes these by date and makes it -easy for you to sort, filter, and modify these items. - -For now, just start with one org-mode file at `~/Documents/org/inbox.org`. Put -some headings with TODO keywords in that file and save it. Be sure to add a -deadline for today. (You can run `org-deadline` to do this automatically for -you.) Now invoke `org-agenda`. This should pull up a buffer with those headlines -you just added in it. - -There are too many ways you can configure this for me to describe here. Just -start small: have one or two files in the `org-agenda-files` list to act as -where you put your TODO items. Use the agenda to view and modify those TODOs. - -Org-mode as a computational notebook -==================================== - -You can use org-mode as a kind of computational notebook. Org-mode lets you have -blocks of source code in line, and then you can instruct org-mode to evaluate -those blocks of code for you. - -The setup varies from language to language, and I'm not going to try to explain -that here. If you're writing code, you should be familiar with reading -documentation, so I'll let you do that yourself. :) diff --git a/extras/org.el b/extras/org.el deleted file mode 100644 index 8f8db71..0000000 --- a/extras/org.el +++ /dev/null @@ -1,161 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Org-mode starter config - -;;; Usage: Append or require this file from init.el for some software -;;; development-focused packages. -;;; -;;; Org-mode is a fantastically powerful package. It does a lot of things, which -;;; makes it a little difficult to understand at first. -;;; -;;; We will configure Org-mode in phases. Work with each phase as you are -;;; comfortable. -;;; -;;; YOU NEED TO CONFIGURE SOME VARIABLES! The most important variable is the -;;; `org-directory', which tells org-mode where to look to find your agenda -;;; files. - -;;; See "org-intro.txt" for a high-level overview. - -;;; Contents: -;;; -;;; - Critical variables -;;; - Phase 1: editing and exporting files -;;; - Phase 2: todos, agenda generation, and task tracking -;;; - Phase 3: extensions (org-roam, etc.) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Critical variables -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; These variables need to be set for Org-mode's full power to be unlocked! -;;; -;;; You can read the documentation for any variable with `C-h v'. If you have -;;; Consult configured (see the `base.el' file) then it should help you find -;;; what you're looking for. - -;;; Phase 1 variables - -;;; Phase 2 variables - -;; Agenda variables -(setq org-directory "~/Documents/org/") ; Non-absolute paths for agenda and - ; capture templates will look here. - -(setq org-agenda-files '("inbox.org" "work.org")) - -;; Default tags -(setq org-tag-alist '( - ;; locale - (:startgroup) - ("home" . ?h) - ("work" . ?w) - ("school" . ?s) - (:endgroup) - (:newline) - ;; scale - (:startgroup) - ("one-shot" . ?o) - ("project" . ?j) - ("tiny" . ?t) - (:endgroup) - ;; misc - ("meta") - ("review") - ("reading"))) - -;; Org-refile: where should org-refile look? -(setq org-refile-targets 'FIXME) - -;;; Phase 3 variables - -;; Org-roam variables -(setq org-roam-directory "~/Documents/org-roam/") -(setq org-roam-index-file "~/Documents/org-roam/index.org") - -;;; Optional variables - -;; Advanced: Custom link types -;; This example is for linking a person's 7-character ID to their page on the -;; free genealogy website Family Search. -(setq org-link-abbrev-alist - '(("family_search" . "https://www.familysearch.org/tree/person/details/%s"))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Phase 1: editing and exporting files -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(use-package org - :hook ((org-mode . visual-line-mode) ; wrap lines at word breaks - (org-mode . flyspell-mode)) ; spell checking! - - :bind (:map global-map - ("C-c l s" . org-store-link) ; Mnemonic: link → store - ("C-c l i" . org-insert-link-global)) ; Mnemonic: link → insert - :config - (require 'oc-csl) ; citation support - (add-to-list 'org-export-backends 'md) - - ;; Make org-open-at-point follow file links in the same window - (setf (cdr (assoc 'file org-link-frame-setup)) 'find-file) - - ;; Make exporting quotes better - (setq org-export-with-smart-quotes t) - ) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Phase 2: todos, agenda generation, and task tracking -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Yes, you can have multiple use-package declarations. It's best if their -;; configs don't overlap. Once you've reached Phase 2, I'd recommend merging the -;; config from Phase 1. I've broken it up here for the sake of clarity. -(use-package org - :config - ;; Instead of just two states (TODO, DONE) we set up a few different states - ;; that a task can be in. Run - ;; M-x describe-variable RET org-todo-keywords RET - ;; for documentation on how these keywords work. - (setq org-todo-keywords - '((sequence "TODO(t)" "WAITING(w@/!)" "STARTED(s!)" "|" "DONE(d!)" "OBSOLETE(o@)"))) - - ;; Refile configuration - (setq org-outline-path-complete-in-steps nil) - (setq org-refile-use-outline-path 'file) - - (setq org-capture-templates - '(("c" "Default Capture" entry (file "inbox.org") - "* TODO %?\n%U\n%i") - ;; Capture and keep an org-link to the thing we're currently working with - ("r" "Capture with Reference" entry (file "inbox.org") - "* TODO %?\n%U\n%i\n%a") - ;; Define a section - ("w" "Work") - ("wm" "Work meeting" entry (file+headline "work.org" "Meetings") - "** TODO %?\n%U\n%i\n%a") - ("wr" "Work report" entry (file+headline "work.org" "Reports") - "** TODO %?\n%U\n%i\n%a"))) - - ;; An agenda view lets you see your TODO items filtered and - ;; formatted in different ways. You can have multiple agenda views; - ;; please see the org-mode documentation for more information. - (setq org-agenda-custom-commands - '(("n" "Agenda and All Todos" - ((agenda) - (todo))) - ("w" "Work" agenda "" - ((org-agenda-files '("work.org"))))))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Phase 3: extensions -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; TODO diff --git a/extras/researcher.el b/extras/researcher.el deleted file mode 100644 index 132215c..0000000 --- a/extras/researcher.el +++ /dev/null @@ -1,99 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Researcher - -;;; Usage: Append or require this file from init.el for research -;;; helps. If you write papers in LaTeX and need to manage your -;;; citations or keep track of notes, this set of packages is for you. -;;; -;;; Denote is a note taking package that facilitates a Zettelkasten -;;; method. Denote works by enforcing a particular file naming -;;; strategy. This makes it easy to link and tag notes. -;;; -;;; NOTE: the Citar package lives on the MELPA repository; you will -;;; need to update the `package-archives' variable in init.el before -;;; before loading this; see the comment in init.el under "Package -;;; initialization". -;;; -;;; Highly recommended to enable this file with the UI enhancements in -;;; `base.el', as Citar works best with the Vertico completing-read -;;; interface. Also recommended is the `writer.el' extra config, which -;;; adds some nice features for spell-checking etc. - -;;; Contents: -;;; -;;; - Citation Management -;;; - Note Taking: Denote - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Critical variables -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; These variables must be set for Citar to work properly! - -(setopt citar-bibliography '("~/refs.bib")) ; paths to your bibtex files - -;;; These variables are needed for Denote -(setopt denote-directory (expand-file-name "~/Documents/notes/")) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Citation Management -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(use-package citar - :ensure t - :bind (("C-c b" . citar-insert-citation) - :map minibuffer-local-map - ("M-b" . citar-insert-preset)) - :custom - ;; Allows you to customize what citar-open does - (citar-file-open-functions '(("html" . citar-file-open-external) - ;; ("pdf" . citar-file-open-external) - (t . find-file)))) - -;; Optional: if you have the embark package installed, enable the ability to act -;; on citations with Citar by invoking `embark-act'. -;(use-package citar-embark -; :after citar embark -; :diminish "" -; :no-require -; :config (citar-embark-mode)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Note Taking: Denote -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Denote is a simple but powerful note-taking system that relies on a -;; file-naming schema to make searching and finding notes easily. The -;; Denote package provides commands that make the note taking scheme -;; easy to follow. See the manual at: -;; -;; https://protesilaos.com/emacs/denote -;; -(use-package denote - :config - (denote-rename-buffer-mode) - (require 'denote-journal-extras)) - -;; Integrate citar and Denote: take notes on bibliographic entries -;; through Denote -(use-package citar-denote - :after (:any citar denote) - :custom - (citar-denote-file-type 'org) - (citar-denote-keyword "bib") - (citar-denote-signature nil) - (citar-denote-subdir "") - (citar-denote-template nil) - (citar-denote-title-format "title") - (citar-denote-title-format-andstr "and") - (citar-denote-title-format-authors 1) - (citar-denote-use-bib-keywords t) - :init - (citar-denote-mode)) diff --git a/extras/vim-like.el b/extras/vim-like.el deleted file mode 100644 index d6a8db6..0000000 --- a/extras/vim-like.el +++ /dev/null @@ -1,36 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Vim emulation - -;;; Usage: Append or require this file from init.el for bindings in Emacs. - -;;; Contents: -;;; -;;; - Core Packages - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Core Packages -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Evil: vi emulation -(use-package evil - :ensure t - - :init - (setq evil-respect-visual-line-mode t) - (setq evil-undo-system 'undo-redo) - - ;; Enable this if you want C-u to scroll up, more like pure Vim - ;(setq evil-want-C-u-scroll t) - - :config - (evil-mode) - - ;; If you use Magit, start editing in insert state - (add-hook 'git-commit-setup-hook 'evil-insert-state) - - ;; Configuring initial major mode for some modes - (evil-set-initial-state 'eat-mode 'emacs) - (evil-set-initial-state 'vterm-mode 'emacs)) diff --git a/extras/writer.el b/extras/writer.el deleted file mode 100644 index 3fe801c..0000000 --- a/extras/writer.el +++ /dev/null @@ -1,62 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Writer - -;;; Usage: Append or require this file from init.el for writing aids. -;;; -;;; Jinx is a spell-checking package that is performant and flexible. -;;; You can use Jinx inside of programming modes and it will only -;;; check spelling inside of strings and comments. (Configurable, of -;;; course.) It also supports having multiple languages (e.g. English -;;; and German) in the same file. -;;; -;;; Olivetti narrows the window margins so that your text is centered. -;;; This makes writing in a wide, dedicated window more pleasant. -;;; -;;; NOTE: the Olivetti package lives on the MELPA repository; you will -;;; need to update the `package-archives' variable in init.el before -;;; before loading this file; see the comment in init.el under -;;; "Package initialization". - -;;; Contents: -;;; -;;; - Spell checking -;;; - Dictionary -;;; - Distraction mitigation - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Spell checking -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Jinx: Enchanted spell-checking -(use-package jinx - :ensure t - :hook (((text-mode prog-mode) . jinx-mode)) - :bind (("C-;" . jinx-correct)) - :custom - (jinx-camel-modes '(prog-mode)) - (jinx-delay 0.01)) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Dictionary -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(setopt dictionary-use-single-buffer t) -(setopt dictionary-server "dict.org") - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Distraction mitigation -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Olivetti: Set the window margins so your text is centered -(use-package olivetti - :ensure t - ;; Uncomment below to make olivetti-mode turn on automatically in certain modes - ; :hook ((markdown-mode . olivetti-mode)) - ) |