Skip to content

m-aXimilian/emacs-configuration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

212 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My emacs configuration

https://github.com/m-aXimilian/emacs-configuration/actions/workflows/config-test.yml/badge.svg

Structure of the configuration

This configuration aims to be as generic as possible. I.e., there should be no domain-specific information in the config.emacs.org file. However, some parts of it rely on domain specific dependencies. Should any of these dependencies no be set, the initialization of this configuration will fail by default. This can be prevented by setting the buoso/configuration-pedantry-mode variable. By default, it will be interpreted as if it was set to 'pedantic. You can set it to 'relaxed or 'yolo if you don’t care about domain-specific warnings/errors. For example, set it like

(setq buoso/configuration-pedantry-mode 'yolo)

to turn domain-specific error messages to simple messages. With 'relaxed you would get warnings, 'pedantic throws errors should one of the following dependencies not be fulfilled:

Ditaa

Ditaa source blocks require setting an executable ditaa jar path. To make the configuration aware of this set the buoso/ditaa-jar-path in your init file like

(defcustom buoso/ditaa-jar-path (expand-file-name "~/.ditaa/ditaa0_9.jar")
  "The ditaa-jar-path assuming you have a ditaa jar in the ~/.ditaa direcotry.")

With the ditaa addons it is further possible to export ditaa diagrams to eps files. To do so an additional executable jar is needed. You can add that like

(defcustom buoso/ditaa-eps-jar-path (expand-file-name "~/.ditaa/DitaaEps.jar")
  "The jar path to the ditaa eps rendering executable.
Assuming you have a ditaaEps jar in the ~/.ditaa direcotry")

Plantuml

Similar to ditaa, you can provide a jar for plantuml like

(defcustom buoso/plantuml-jar-path (expand-file-name "~/.plantuml/plantuml-1.2024.0.jar")
  "Needed for `plantuml-mode', this requires a plantuml-jar file to parse the *.puml-files.
Assuming the ~/.plantuml directory contains the appropriate jar file.")

Bibliography files

You can use the *bib-files* variable to store your *.bib-files which are then usable by org-ref (via C-x ]) and org-roam-bibtex (via C-c b i). Provide it in your init file like

(defcustom *bib-files* '("~/mybibliography.bib"
                         "~/someotherbib.bib"
                         "~/evenmore.bib")
  "List of *.bib-files for usage with org-ref.
These files will be used for `bibtex-completion-bibliography' if they exist.")

Installation

  1. Clone the repository
  2. do a org-babel-load-file on config.emacs.org in your init file (init.el, .emacs, etc.)

Example with symbolic link

With config.emacs.org under /home/<user>/emacs and init.el under /home/<user>/.emacs.d

  • create a symbolic link to the config file
    ln -s /home/<user>/emacs/config.emacs.org /home/<user>/.emacs.d/config.emacs.org
        
  • make init.el aware of the config-file
    (org-babel-load-file "~/.emacs.d/config.emacs.org")
        
  • upon start emacs will ask “Symbolic link to Git-controlled source file; follow link? (yes or no)” → answer “yes”

Additional considerations

Enable elpy

After installing, it might be necessary to “install” elpy by calling M-x elpy-rpc-reinstall-virtualenv. This might also resolve issues with eglot and the clangd backend managing C++ projects.

About

Basic tweaks for vanilla emacs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors