aboutsummaryrefslogtreecommitdiff
path: root/.emacs.d/init.org
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <msabate@suse.com>2020-04-27 15:32:47 +0200
committerMiquel Sabaté Solà <msabate@suse.com>2020-04-27 15:32:47 +0200
commitae673a6b16c9205f1830bfb7d979c8f41176bc10 (patch)
tree26809b16815fc8d4fc2ba059b9db9b212ba53dad /.emacs.d/init.org
parent0f77a5bed35f3882d203d65788805bcfefdf78ad (diff)
downloaddotfiles-ae673a6b16c9205f1830bfb7d979c8f41176bc10.tar.gz
dotfiles-ae673a6b16c9205f1830bfb7d979c8f41176bc10.zip
emacs: merged my README.org file into init.org
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to '.emacs.d/init.org')
-rw-r--r--.emacs.d/init.org21
1 files changed, 15 insertions, 6 deletions
diff --git a/.emacs.d/init.org b/.emacs.d/init.org
index edf594a..bdecab1 100644
--- a/.emacs.d/init.org
+++ b/.emacs.d/init.org
@@ -8,12 +8,7 @@
* Preface
-This is my attempt of getting my configuration organized with literate
-programming and =org-babel=. I took the workflow I'm following from [[https://github.com/larstvei][@larstvei]].
-The idea is that the =init.el= file will replace itself on the first execution
-with the tangled version of this file. This first version will also be
-byte-compiled. This means that all changes are to be made on the =init.org=
-file *always*. The initial contents of the =init.el= are:
+This is my attempt of getting my configuration organized with literate programming and =org-babel=. I took the workflow I'm following from [[https://github.com/larstvei][@larstvei]]. The idea is that the =init.el= file will replace itself on the first execution with the tangled version of this file. This first version will also be byte-compiled. This means that all changes are to be made on the =init.org= file *always*. The initial contents of the =init.el= are:
#+BEGIN_SRC elisp :tangle no
;; We can't tangle without org!
@@ -104,6 +99,8 @@ on each change, the following function is provided:
As you can see, this function will tangle and compile the resulting =init.el= file, and it will also produce an HTML version of it. This HTML version will be pushed into my [[http://jo.mssola.com][personal site]] thanks to a git [[https://github.com/mssola/dotfiles/blob/master/.emacs.d/pre-push][pre-push]] hook. The resulting version being hosted [[http://jo.mssola.com/static/init.html][here]].
+Other than that, I run GNU Emacs in server mode, but I don't use systemd for that. Instead, 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. All this is handled outside of this configuration, by adding some handy scripts like =e= and =emacsclient-a-nw= that can be found inside of the =bin= directory from my dotfiles, and that they are later picked up by various config files such as =.bashrc=, =.gitconfig=, =i3= and such.
+
* Introduction
I'm using GNU Emacs 27, but everything should be working since GNU Emacs 24. There are some exceptions to this (e.g. webkit support), but these cases are individually handled. In the following block we define some handy constants that will be used throughout this configuration in order to support multiple versions of GNU Emacs. Moreover, this block also checks the version being used and errors out if you are using a GNU Emacs that is just too old for this configuration.
@@ -2284,6 +2281,18 @@ Display emojis in buffer!
(setq emojify-emoji-styles '(unicode github)))
#+END_SRC
+* Installation
+
+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=, =abbrevs.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.
+
+Other than that, in the =dependencies.sh= script you will be able to find the **runtime dependencies** that should be installed in order to get everything working. Note that this script assumes that you are running openSUSE, so don't run it blindly. All the software installed by this script has already been explained during this configuration.
+
* 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: