Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ianyepan/yay-evil-emacs
😈 A lightweight literate Emacs config with even better "better defaults". Shipped with a custom theme!
https://github.com/ianyepan/yay-evil-emacs
config distro emacs lightweight rice
Last synced: about 2 months ago
JSON representation
😈 A lightweight literate Emacs config with even better "better defaults". Shipped with a custom theme!
- Host: GitHub
- URL: https://github.com/ianyepan/yay-evil-emacs
- Owner: ianyepan
- License: gpl-3.0
- Created: 2018-10-23T17:00:23.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-09T08:41:50.000Z (over 1 year ago)
- Last Synced: 2024-08-07T18:31:49.250Z (6 months ago)
- Topics: config, distro, emacs, lightweight, rice
- Language: Emacs Lisp
- Homepage:
- Size: 1.82 MB
- Stars: 389
- Watchers: 16
- Forks: 42
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
😈 Ian's Yay-Evil Emacs: An even better 'better defaults' 😈
### Welcome! 👋
This Emacs "distro" is based on my personal Emacs configuration. It's
unopinionated and was created for general use in mind. The package
settings are grouped in a logical manner, and I've documented as
detailed as possible what each code snippet does in my `config.org`
file.You can find my opinionated personal configuration
[here](https://github.com/ianyepan/.macOS-emacs.d) (for macOS)
and [here](https://github.com/ianyepan/.wsl-emacs.d) (for Arch and
Ubuntu on WSL2).This Emacs config starts up **super fast** with an average init time of 0.7 second.
![alt text](./wilmersdorf.png)
### Installation 🍀
Back up your `~/.emacs.d/` first (if you have one):```
mv ~/.emacs.d/ ~/.emacs.d.bak/
```Git clone my configuration to your new `~/.emacs.d/` :
```
git clone https://github.com/ianyepan/yay-evil-emacs.git ~/.emacs.d
```### "Rolling" Release 🙃
I will constantly push new commits as soon as I discover new things
suitable for this "distro".### How the config structure works 🧐
The `init.el` requires `config.el`, which is produced by org-babel and
`config.org`. This allows me to put most of my configuration in an Org
file with literate programming style (good for documenting code
usage!).### Packages that I use:
#### Better package managing syntax and performance
- use-package#### Vim editing habits (optional depending on your preferences)
- evil
- evil-collection
- evil-commentary#### Git integration
- magit#### Better Emacs defaults
- company (auto-completion)
- ido-vertical-mode
- ido-completing-read+ (ido-ubiquitous)
- dashboard (welcome screen)#### Org mode
- org-bullets#### Friendly warnings
- flycheck#### Lightweight syntax highlight improvement for all languages
- highlight-numbers
- highlight-escape-sequences### Appendix I: Themes I adore
#### Dark themes
- Gruvbox Dark (specifically the [Material](https://github.com/ianyepan/.wsl-emacs.d/blob/master/themes/doom-gruvbox-material-theme.el) variant)
- Visual Studio Code Dark+ [for Emacs](https://github.com/ianyepan/vscode-dark-plus-emacs-theme)#### Light themes
- [Spacemacs Light](https://github.com/nashamri/spacemacs-theme)If you prefer a theme pack with some of the most popular themes, I recommend the `doom-themes` package:
- [Doom-themes package](https://github.com/doomemacs/themes)### Wilmersdorf Theme
The default installation of my Emacs configuration ships with the Wilmersdorf theme I made myself.
It is inspired by Monochrome, Spacemacs Dark, Ariake Dark, and Raiju.
You can find more information on my theme [here](https://github.com/ianyepan/wilmersdorf-emacs-theme).### Appendix II: Fonts I adore
- Hack / Menlo /DejaVu family (classic, default on lots of systems)
- Source Code Pro (playful and modern-looking, easy on the eyes)
- Consolas (beautifully modern)
- Recursive Mono Semicasual
- Roboto Mono
- Ubuntu Mono### FAQ: ❓
#### 1. But I'm not an Evil user
Sure! Simply delete (or comment) the sections regarding Vi bindings in
`config.org`.#### 2. How can I install extra packages that I want?
You should be able to install packages the normal way (`M-x
list-packages RET` and `i x` on the desired package row). If you plan
to sync your config files across machines, add the configuration in
`config.org` with your preferred syntax (use-package is
recommended). Yay-Evil sets all the packages `:ensure` to true by
default, so you don't need to add `:ensure t`.#### 3. How can I remove packages that I don't need?
For this you need two steps:
- First, in the `config.org` file, remove (or comment out) the
relevant configuration code.
- Next, type `M-x list-packages RET` and delete the unwanted package
by placing your cursor on the target row and press `d` followed by an `x`.