A prelude packs setup to use with the most excellent prelude.
- I used emacs-starter-kit (which is great) then migrated to emacs-live (which is also great).
- Along the way, I developed some code on my own.
- This code, little by little, became standardized the emacs-live way through the notion of packs (it's still emacs-lisp inside).
- I still like this notion. It goes well with the
separation of concerns
concept. - So I kept them, agnostified them to permit the use outside of emacs-live.
- Now I can discover any other emacs distribution (prelude for example) without losing my existing code.
- This code is rather user agnostic too so it can be used by other people too.
Some packs still need some lovin' but most are ready:
Pack name | Description |
---|---|
install-packages-pack | Some installation repository setup + function to install list of packages |
scratch-pack | Tinkering pack |
blog-pack | Blog setup to rapidly post article from org-mode to wordpress |
haskell-pack | Haskell environment setup |
orgmode-pack | Some org-mode specificities |
lisp-pack | Lisp environment setup |
buffer-pack | Some buffer manipulation functions |
git-pack | Git specific setup |
mail-pack | Email accounts setup (one or multiple accounts through authentication file setup) |
shell-pack | Shell setup |
browser-pack | Browser specific tryouts |
chat-pack | IRC setup |
clojure-pack | Clojure override from emacs-live's defaults + other stuff |
clojurescript-pack | Clojurescript setup |
lisp-pack | All lisp (clojure, common-lisp) setup pack |
elisp-pack | Emacs-lisp pack (more specific than the previous one) |
macro-pack | Macro setup |
caml-pack | ML family languages setup |
twitter-pack | Twitter setup |
puppet-pack | Puppet setup |
chrome-pack | Chrome setup |
scala-pack | Scala pack |
el-get-pack | Attempt to permit the use of el-get |
groovy-pack | Pack to add groovy mode |
modeline-pack | Improve modeline rendering |
php-pack | PHP mode |
prelude-pack | A pack to override some prelude core default (bindings mostly) |
stumpwm-pack | Stumpwm tinkering from the REPL |
pres-pack | Pack to make presentation fast (using org-mode, org-reveal and reveal.js) |
irc-pack | Pack to setup IRC once with .netrc file |
Note This pack is an orchestrator. You still need to configure those packs independently for the overall to be fully functional. Report yourself to each pack's README.md file to know what are those steps.
Install prelude
Long story short:
git clone git://github.com/bbatsov/prelude.git ~/.emacs.d
Clone the repository.
mr -j4 update
Note: mr being https://myrepos.branchable.com/
If you want to use one of those packs, you need at minimum install-packages-pack. This one is in charge of configuring different repositories (marmalade, melpa, melpa-stable, milkbox, elpa, etc...).
Also, it installs a utility function install-packages-pack/install-packs
to download packages from those repositories.
This utility function is used throughout all the referenced packs.
To add or remove packs, simply edit the .prelude-packs.el
and comments packs from the list.
For example, to simply install orgmode-pack and the blog-pack, do as follow:
;;(use install-packages-pack)
;;(use prelude-pack)
;;(use theme-pack)
;;(use el-get-pack)
;;(use buffer-pack)
;;(use scratch-pack)
(use blog-pack)
;;(use haskell-pack)
(use orgmode-pack)
;;(use lisp-pack)
;;(use git-pack)
;;(use mail-pack)
;;(use shell-pack)
;;(use browser-pack)
;;(use chat-pack)
;;(use clojure-pack)
;;(use clojurescript-pack)
;;(use caml-pack)
;;(use modeline-pack)
;;(use twitter-pack)
;;(use puppet-pack)
;;(use chrome-pack)
;;(use macro-pack)
;;(use scala-pack)
;;(use elisp-pack)
;;(use groovy-pack)
;;(use php-pack)
;;(use stumpwm-pack)
;;(use pres-pack)
;;(use irc-pack)
;;(use help-pack)
Launch the deployer:
/path/to/prelude-packs/deploy.sh
This will trigger the creation of 1 link in your home folder towards your prelude-pack's installation folder.
Example:
tony@dagobah(0,43,) 15:30:39 ~/repo/perso/emacs-live-packs (master) $ ll ~/.emacs*
lrwxrwxrwx 1 tony tony 32 déc. 18 03:28 /home/tony/.emacs.d -> /home/tony/repo/perso/prelude
lrwxrwxrwx 1 tony tony 39 avril 15 12:38 /home/tony/.prelude-packs -> /home/tony/repo/perso/prelude-packs/
Note This will create a file prelude-packs-delegate.el in your ~/.emacs.d/personal/ folder that will be loaded by prelude and trigger the prelude-packs loading.
Now start emacs.
emacs --daemon
This will install emacs packages needed if they are not already installed.
Compiling the code will help.
M-x prelude-packs/byte-compile!