This is my personal ~/.emacs.d
directory, settings are mostly stolen from all over the Internets and adapted for my taste and needs. Feel free to do the same or just lookup and borrow the parts you’re after. If you learned something here, my goal is reached.
After watching Mike Zamansky’s webcasts I have decided to declare Emacs config bankruptcy and start again.
While I’m certain most things will work on any modern Emacs, personally I am using GNU Emacs HEAD build (currently 27.0.50) on macOS, and, therefore, can only guarantee the configuration to work correctly on a comparable setup.
On macOS you can install Emacs using Homebrew, I recommend emacs-plus
:
brew tap d12frosted/emacs-plus
brew install emacs-plus --without-spacemacs-icon --HEAD
brew linkapps emacs-plus
Before installing this configuration ensure you don’t have ~/.emacs.d
directory. If you do, then either move it or dispose of it before proceeding further.
To download this configuration as you new ~/.emacs.d
:
git clone https://github.com/timanin/emacs.d.git ~/.emacs.d
You’ll also need the Iosevka font, so either get it from their GitHub page, install using Homebrew or build from the source code:
brew tap caskroom/fonts
brew cask install iosevka
I’m currently rewriting the config while also trying to improve my Emacs Lisp, so this is WIP.
List of features:
- [ ] Styled to work great on macOS.
- [ ] Modular design thanks to the use-package macro.
- [ ] Org-mode improvements (MobileOrg?).
- [ ] Deferred module loading for fast startup.
- [ ] Intended to be run constantly in server mode.
- [ ] Code completion with company-mode.
- [ ] Multiple cursors.
- [ ] REST client with restclient.el.
- [ ] Ligatures support (with Iosevka).
- [ ] Smooth theming with base16-theme and All The Icons.
- [ ] Smart mode line.
- [X] Magit with
C-x g
- [ ] Syntax checking with Flycheck.
- [ ] Key bindings learning mode with which-key.
- [ ] Project support with Projectile.
- [ ] Snippets with yasnippet.
- [ ] Persistent scratch.
- [ ] Easy window switching with ace-window.
- [ ] Expand-region with
C-=
Supported languages/frameworks:
- [ ] Ansible
- [ ] Emacs Lisp
- [ ] Fish
- [ ] Groovy
- [ ] Haskell
- [ ] JSON
- [ ] Markdown
- [ ] Python
- [ ] Terraform
- [ ] Web
- [ ] YAML
Copyright (C) 2016 Sergey Timanin
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.