This is my emacs configuration: https://github.com/jsirex/emacs.d
I like to getting new things as soon as possible, so don’t hesitate to use latest versions:
Debian GNU/Linux Testing
emacs-snapshot
(currently >= 28.0)
There are lots of stuff required to emacs function properly: compilers, tools, cli, fonts, etc…
For that purpose I added install.sh
which is safe to run multiple times.
Script must be run as regular user, but it requires sudo!
Here is example of installation procedure:
cd ~
git clone github.com:<your-user>/emacs.d ~/.emacs.d
cd ~/.emacs.d
git remote add upstream https://github.com/jsirex/emacs.d.git
# initial installation of emacs binaries
# if required, you can override sudo command by:
# SUDO="sudo -i -A"
./install.sh
# Byte compile files
make
# run
emacs
That’s it!
I didn’t think too much about customization for now, not sure it is necessary.
I hope git
is enough for straight fork:
- Fork this repo on github
- Clone it to your home
- Customize configuration - it is strongly recommended to use one commit per logical change
- Add this repo as
upstream
repository - Pull changes periodically
- If you want to share your fix or improvement
- Start new branch at
upstream/master
- Make changes or cherry-pick commits
- Create pull request
- Start new branch at
I think that maintain an universal emacs configuration which works brilliant both on Linux, Mac and Windows is too hard.
That’s why this particular configuration has strong focus on Debian GNU/Linux
in GUI mode.
There is good chance that it will work under any Linux
.
I didn’t test it in a console terminal mode as it is rare case for me.
- Keep 3rd party packages as minimum as possible. Prefer stock functions.
- Try to
defer
loading every package until it actually requied. - Use
package-user-dir
based on your emacs version. This prevents bytecode incompatibility.
There is two possible ways to start emacs: from compiled files and not.
Compiled version loads faster and prefered in day to day work.
But if you want modify emacs itself (this file) new changes will take effect after compilation.
So it is better idea to clean compiled files with make clean
, work under emacs configuration.
When ready - do a final compile: make
.