aboutsummaryrefslogtreecommitdiff
path: root/emacs/README.org
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/README.org')
-rw-r--r--emacs/README.org79
1 files changed, 63 insertions, 16 deletions
diff --git a/emacs/README.org b/emacs/README.org
index 3563f76..6ecea45 100644
--- a/emacs/README.org
+++ b/emacs/README.org
@@ -1,23 +1,70 @@
-* My GNU Emacs configuration
+* mssola's GNU Emacs configuration
-** TODO these instructions are outdated, I'll update them whenever I can.
+** About this
-For the configuration of Emacs I'm trying out using symlinks instead of copying
-files into the right places. For this reason, for now I'm not providing an
-automatical way to install everything (this is left to be done in the near
-future). The `emacs/init.el` and `emacs/gtkrc` files should be symlinked into
-`~/.emacs.d`.
+I'm following a literate programming approach for my GNU Emacs
+configuration. The basic workflow is that on the first run the =init.el= file
+will replace itself with a tangled (=org-babel=) version of itself. Therefore,
+all changes should go into the =init.org= file. Moreover, I've added a function
+that is executed on save which generates and compiles new versions of the
+=init.el= file. Note that it will also generate an =init.html= file, which is
+the file that I'm showing on my [[https://jo.mssola.com][personal site]].
I run GNU Emacs in daemon mode, but I don't use systemd for that. Instead, in
-the `i3/config` file you'll see that I'm using `-a ""` as an argument of
-`emacsclient`. This instructs `emacsclient` to spawn a new server if there
-isn't one already. This means that the first time around it will take some
-time, but in the next time everything will be alright.
-
-Last but not least, I'm using my customized `soria` color theme. This theme is
-unfortunately not available in any way other than Github. Therefore, you should
-clone it yourself in https://github.com/mssola/soria, and add it into
-the `~/.emacs.d` directory.
+I'm using the =-a= argument of =emacsclient= with an empty string. This
+instructs =emacsclient= to spawn a new server if there isn't one already. This
+means that the first time around it will take some time, but in the next time
+everything will be alright.
+
+** Dependencies
+
+First of all, install the [[https://github.com/mssola/soria][soria]] color theme. This should already be handled by
+the install script. Then make sure to install the following:
+
+- =calibre=: a markdown to HTML converter.
+- =spell= for spell checking.
+- A LaTeX to PDF converter for exporting org files to PDF. In openSUSE this is
+ fixed by installing the =texlive-pdftex= package.
+- =mu= and =mu4e= for email. This should be installed from my [[https://build.opensuse.org/package/show/home:mssola/mu][OBS]] project.
+
+Last but not least, to get a proper Go environment you need to install the
+following:
+
+#+BEGIN_SRC sh
+go get -u golang.org/x/tools/cmd/goimports
+go get -u github.com/rogpeppe/godef
+go get -u github.com/dougm/goflymake
+go get -u github.com/nsf/gocode
+#+END_SRC
+
+** Installing
+
+The installation process of my GNU Emacs configuration should already be handled
+by the =install.sh= script that can be found in the root of this project. If you
+want to do it manually:
+
+- Create the =~/.emacs.d= directory if it has not been created yet.
+- Copy the =init.el= into the =~/.emacs.d= directory. This is the only file that
+ should be copied instead of linked because it will get replaced on the first run
+ by =org-babel=.
+- Link the =init.org=, =custom.el= and =gtkrc= files into the =~/.emacs.d=
+ directory.
+- Create the =~/.emacs.d/lisp= subdirectory and link the =lisp/g.el= file there.
+- Clone the [[https://github.com/mssola/soria][soria]] project and link the =soria-theme.el= file into the
+ =~/.emacs.d= directory.
+
+** Credits
+
+I've built this file by simply scavenging from other people's emacs.d/dotfiles
+repositories. I have taken lots of pieces from here and there, but most notably:
+
+- [[https://github.com/ereslibre/dotfiles][@ereslibre]]
+- [[https://github.com/dmacvicar/dotfiles][@dmacvicar]]
+- [[https://github.com/bbatsov/emacs.d][@bbatsov]]
+- [[https://github.com/aaronbieber/dotfiles][@aaronbieber]]
+- [[https://github.com/purcell/emacs.d][@purcell]]
+- [[https://github.com/sachac/emacs.d][@sachac]] ([[http://pages.sachachua.com/.emacs.d/Sacha.html][HTML version]])
+- [[https://github.com/larstvei/dot-emacs][@larstvei]]
** License