This config is highly customized and no good for a beginner. Even for emacs users this config is probably only interesting in specific points they can then copy to their own config. However along the way I found some nice tutorials on emacs in general which I’d like to point out:
- https://www.inkandben.com/org-mode-resources for a nice collection of tutorials
- http://emacs.sexy/ a well done advertisement-like site on emacs
- https://emacsthemes.com/
- https://github.com/emacs-tw/awesome-emacs
Started to maintain my emacs-config here on github when I noticed there were more than a handful of things I wanted to configure about emacs, and it was too annoying to set them each time by hand when switching the environment.
🏆 Things I am proud to have accomplished since my first commit here:
- I use “use-package” for automatic package installation.
- My config-files are written in org-mode
- The different environments I work with emacs in are typed (work / home / laptop / uni). Depending on the environment I load different packages. I tell emacs which environment I am in by setting the system variable “SYSENV”.
- The overall file-structure is not a mess
🌵 Things I struggle with:
- Indenting and line-wrapping in org-mode since recent org update
- Keeping all my org configuration consistent
- Minor things about my typescript and rust setup
Right now I use the unix coding system everywhere, this might be subject to change though.
Pros:
- Its easier to copy stuff into the terminal from for example an org-file without weird line-ending interactions
- Makes org-babel codeblocks work in the first place on linux systems, otherwise they cannot execute
- I edit org-files from linux and on windows, which due to org-babel requiring linux line-endings makes deciding for either one of them a necessity. Making such a decision globally of course also affects the coding-style of this config which I want to share with others.
- There is no comfortable way to convert line-endings without me noticing it, another reason why I have to decide for one of the two
Cons:
- Editing my configs or files from the Windows Default Editor doesn’t work
- My colleagues are not able to visit my config files since they dont care and only use the dos-coding system
I’m writing my bachelor-thesis with this config. In order to do that i included quite alot of config settings into my emacs config. An alternative to this would be downloading an emacs distribution / config that is designed just for writing scientifical papers, like Scimax.
Configuration that specifically enables me to do that is tagged with “research”. On linux i had to install packages ontop of simple configuration inside emacs:
sudo apt-get install ess
sudo apt-get install texlive #required for pdf rendering (and more?)
sudo apt-get install texlive-latex-extra #stop the pdf-export from failing due to missing package "wrapfig.sty"
sudo apt-get install r-base #enables the creation of graphs from emacs
For Windows these additional steps are required to make the pdf export work:
- Download “pdflatex” from here: https://miktex.org/download
- Latex Live is an alternative
- Update its packages using the miktex update manager
- Install the wrapfig package
- Install the url package
- Add the binary directory of miktex to the environment variables and restart emacs
- Try the export!
- org-init.el
- bootstraps the initialization through org-mode
- init.org
- customizes the default emacs behaviour
- my-org-usepackages.org
- adds and customizes packages
- elisp-goodies.el
- some of my custom functions and work-in-progress
It is kind of a stretch to keep reaching for the Ctrl-Key on the bottom left of the keyboard. Having pain from keep reaching to this key is also referred to as the “emacs-pinky”.
An idea to mitigate this problem is to make caps-lock a second ctrl key.
On Ubuntu this can be done using the gnome-tweak-tool
.
Remember to set the git author correctly when on different laptops
git config user.name "flyck"
git config user.email mymail.com