Giter Club home page Giter Club logo

yay-evil-emacs's Introduction

๐Ÿ˜ˆ Ian's Yay-Evil Emacs: An even better 'better defaults' ๐Ÿ˜ˆ


Maintenance GPL License Version Awesome

Star History Chart

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 (for macOS) and here (for Arch and Ubuntu on WSL2).

This Emacs config starts up super fast with an average init time of 0.7 second.

alt text

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 variant)
  • Visual Studio Code Dark+ for Emacs

Light themes

If you prefer a theme pack with some of the most popular themes, I recommend the doom-themes package:

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.

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.

yay-evil-emacs's People

Contributors

ianyepan avatar rynov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yay-evil-emacs's Issues

yay snippets not working

M-x yas-expand not working

type 'src' then press TAB not working too

there is no warning in buffer Messages

can you help me setup the yas snippet?

Config.el

Hello,

The config.el is not being created in the .emacs.d direcotry as the following error comes up when load up emacs.

Warning (initialization): An error occurred while loading โ€˜/home/hyjale/.config/emacs/init.elโ€™: File is missing: Cannot open load file, No such file or directory, /home/hyjale/.emacs.d/config.el

Any suggestions?

:custom keyword

Is there any reason of why you are not using the :custom keyword in your configuration to set the value of variables.
Regards.

[update]java.compiler error

OpenJDK 64-Bit Server VM warning: The java.compiler system property is obsolete and $

The warning message you're encountering, "OpenJDK 64-Bit Server VM warning: The java.compiler system property is obsolete," typically indicates that a part of your Java configuration or code is using a feature or property that is outdated. This warning generally doesn't affect the execution of a Java program, but it suggests that an aspect of your Java setup or code might be employing deprecated features.

How to Address the Warning

  1. Check Java Version:
    Ensure that you're using a Java version that's compatible with your project. Different Java versions might have varying levels of support for certain properties and features.

  2. Review Project Settings:
    If there are JVM arguments or system properties specified in your project or within your Emacs environment, check if the java.compiler property is being used. If it is, consider removing or updating it.

  3. Update Dependencies:
    Make sure that any third-party libraries or frameworks used in your project are up-to-date, as older versions might rely on deprecated features.

  4. Configure lsp-java:
    Examine the configuration of lsp-java to see if there are any relevant settings that need to be updated or adjusted.

  5. Ignore the Warning:
    If this warning doesn't affect the running of your project and you can't pinpoint its exact cause, you might choose to ignore it. However, it's always better to understand the root cause of a warning.

  6. Consult Documentation and Community:
    Look up relevant Java and OpenJDK documentation, as well as Emacs and lsp-java communities and documentation, for more information or solutions related to this warning.

  7. Environment Variables:
    Check your environment variable settings, especially those related to Java and JVM, to ensure there are no outdated or incorrect configurations.

Considerations

  • Warnings typically don't prevent a program from running, but they do provide information about potential issues or areas for improvement.
  • Keep your development environment (like Emacs, lsp-java, Java SDK) up to date to avoid issues caused by outdated tools or configurations.

If you're unable to determine the specific cause of the warning, or if it starts to impact your development work, it's advisable to seek help in relevant development communities or forums, providing more detailed information and context.

Thanks and questions/advice!

Hi!

First of all I want to thank you for your config. I have forked and based my setup on it. It has been very well documented and as it has few features has helped me learn more about he wonderful (and frustrating) world of Emacs! I am intrigued/keen/scared to try the Evil features, but can sense that day will soon come too!

Now, for my questions. I didn't really heed your advice re: adding my config to your config.org file. Instead, I created a new file atanas.org and referenced that to load custom variables. However, along the way, I have had to add things to the config.org file (e.g., some org-mode config stuff, doom-themes and others), and the whole things is becoming a bit unruly).

My plan was to migrate everything the contents of atanas.org to config.org, but it doesn't work, and many of the packages are not enabled.

As a bit of background, I am new to git and very new to Emacs, I do not have a computer background, so many of the questions I ask may be quite daft to the initiated (apologies ahead of time).

So, to come to the "issue" at hand, I guess I have a mix of questions and blind advice seeking about what I should do.

  • What is the best way to get the features that I have configured (R, ploy-markdown, etc.) form my atanas.org into your config.org? Is there a particular process I should be following e.g., method of copying and testing, deleting the .emacs.d folder and cloning again from my git repo. Am I missing something with what I have tried? For exampled, should I deleted my elpa folder, and others, and just start with the init.el and config.org files?
  • Also, when I am adding new config, is there a method to follow e.g., GUI config should go after or before something dired config, etc. I ask this question also because no matter what I seem to do, I cannot get org-mode properly configured. Specifically, I have some functions (that I copied form here), and it works in *scratch*, however fails in my config file.

So, I guess what I am asking is: should I start from scratch and add bits add my bits and pieces your config.org file, or is there a particular process I can follow; and, is there generally a process to follow when configuring `Emacs?

Please let me know if you need any more info.

Thanks again,

Atanas.

"startup" and "window" fake packages prevents use of use-package-compute-statistics

I was interested in speeding up my config.org initialization, so thought to set use-package-compute-statistics to t. When you do that, if you then eval use-package-report, you get a string where one wasn't expected, and that's due to these two sections on lines 49 and 76, which configuring some variables under the auspices of the faux packages "startup" and "window". I propose those settings be put under a real package, or set outside of the (use-package) calls.

I am happy to submit a PR for this that works for me if you'd be open to this change

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.