jackjackk / emacs-conf

My emacs configuration

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Usage

Given the modular structure of this conf, you may take just those parts that are of interest to you.

In case you want to try it all, the simplest way is saving your current configuration and cloning this repository in its place.

mv ~/.emacs.d ~/.emacs.d.bak
mv ~/.emacs ~/.emacs.bak
git clone --recursive https://github.com/jackjackk/emacs-conf.git ~/.emacs.d

Other strategies to merge an existing directory with a git repo can be found here. In particular:

git clone https://github.com/jackjackk/emacs-conf.git ~/.emacs.d/.git --mirror --config core.bare=false

will transform your emacs conf dir in a working copy of this repository.

The main file (init.el)

All conf code is self-contained in ~/.emacs.d dir. If no ~/.emacs file is found, emacs will use ~/.emacs.d/init.el (tangled from this file). This in turn call other files in a modular fashion.

Make sure you decomment just the packages you are interested in, otherwise be aware that all missing packages on repositories will be downloaded and installed on startup, which requires time + internet bandwidth.

Load the path with configuration files.

(add-to-list 'load-path "~/.emacs.d/lisp")

Customize built-in features

Startup

(load-library "init-startup.el")

General

(load-library "init-general.el")

Visual

(load-library "init-visual.el")

Text

(load-library "init-text.el")

[[file:init-email.org][Email]

;(load-library "init-email.el")

OS integration

(load-library "init-os.el")

LaTeX

(load-library "init-latex.el")

Network

;(load-library "init-net.el")

Macros

(load-library "macros.el")

Python

(load-library "init-python.el")

Customize packages from repositories

(setq package-list '(

OS integration (exec-path-from-shell)

exec-path-from-shell

Text (company, yasnippet, expand-region, multiple-cursors, column-marker, visual-fill-column, bm)

                     company
                     yasnippet
                     expand-region
                     multiple-cursors
                     writegood-mode
;                    column-marker
;                    visual-fill-column
;                    bm

Navigation (helm, projectile, helm-projectile, helm-ag, transpose-frame, neotree)

                     helm
                     projectile
                     helm-projectile
                     helm-ag
                     transpose-frame
;                    neotree

Org-mode (org-plus-contrib, ox-textile, ox-rst toc-org, org-ref, ox-gfm, org-seek, org-bullets, org-journal, org-download, ox-pandoc, org-redmine, org-pomodoro, org2blog)

                     org-plus-contrib
                     ox-textile
                     ox-rst
                     ox-gfm
                     toc-org
                     org-ref
                     org-seek
                     org-bullets
;                    org-journal
                     org-download
;                    ox-pandoc
;                    org-redmine
                    org-pomodoro
;                    org2blog

LaTeX dev (auctex, pdf-tools, latex-preview-pane, zotelo, auctex-latexmk, cdlatex)

auctex
;pdf-tools
latex-preview-pane
zotelo
auctex-latexmk
cdlatex

Tools (magit, helm-dash, eimp, spray, htmlize)

                    magit
                    helm-dash
;                    eimp
                    spray
                    htmlize

Mac packages (osx-plist)

osx-plist

Win dev (powershell)

powershell

R dev (ess, markdown-mode, polymode)

ess
markdown-mode
polymode

Python dev (elpy, anaconda-mode, company-anaconda, websocket ein, jedi)

                    elpy
;                    anaconda-mode
;                    company-anaconda
;                    websocket
;                    ein
;                    jedi

Web dev (simple-httpd, js2-mode, skewer-mode)

;                    simple-httpd
;                    js2-mode
;                    skewer-mode

android-mode

;                    android-mode

Fun (selectric-mode)

;                    selectric-mode

Customize packages from local subfolders

))
(setq other-package-list '(

thing-edit

thing-edit

gams

gams

ampl-mode

ampl-mode

Org-mode (ox-wk, ob-ampl, ob-gams)

;                          ox-wk
                           ob-ampl
;                           org-protocol-capture-html
;                          ob-gams

matlab

;                          matlab

speedread

;                          speedread

Finish

))

Call init-packages to load modules defined above.

(load-library "init-packages.el")

The git hook to compile changed files

changed_files="$(git diff-tree -r --name-only --no-commit-id HEAD@{1} HEAD)"
if [ ! -z "$changed_files" ]; then
    sh compile-init.sh $changed_files
fi

Useful references

DISCLAIMER

THIS SOFTWARE IS PRIVIDED “AS IS” AND COMES WITH NO WARRANTY. USE AT YOUR OWN RISK. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO LOSS OR CORRUPTION OF DATA). USE AT YOUR OWN RISK.

About

My emacs configuration


Languages

Language:Emacs Lisp 75.1%Language:GAMS 19.4%Language:C 4.6%Language:TeX 0.8%Language:Makefile 0.1%