From 09fd85e1e15a9562f68584d4430b6baa581268fe Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Mon, 16 Jan 2017 10:02:45 +0100 Subject: emacs: fixed README file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- emacs/README.org | 79 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 file 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 -- cgit v1.2.3