Some men tell me “So, you just copy Doom. Why?”. My answer is that my configuration is even better than Doom + it isn’t a stupid copy of Doom, my configuration have a big amount of interesting concepts which is unique for this config. Plus the biggest part of my config is opposite to Doom. Things where my config is better on 100% I will tell #nodoom, where is better by my opinion (everywhere, but here diff is bit) I will tell #dddm
- a beautiful design.
It includes
- a big amount of themes
- a big supprt of two themes: light and dark. You can change it for session using `M-x my-light-theme` or `M-x my-dark-theme`. If you need to change it forever, replace a line in `my-load-theme.el` file
- diagnostics and other things from echo area at the top left corner (#nodoom)
- amazing modeline
- icons everywhere (#nodoom)
- No to
prettify-mode
- Small, but amazing padding around screen (#nodoom)
- Very (really very) fast start up. (#nodoom #nodoom)
On my old computer
doomemacs
starts in 4+ seconds (it prints it after startup), but in fact it also wait for when themes, modeline and other things will be loaded. My config on other side take only 2secs and almost don’t take time after. - A big amount of packages (192+)
- Reload the configuration Emacs lisp file after it saved. Inspired by
VSCode
andNVChad
meow
overevil
(#dddm)- Own package manager, built over
straight.el
. (#nodoom)The benefit is a speed, it only one time add to the a path
load-path
. And other times Emacs will find a package only in this directory, instead of 220+ other directories when usestraight.el
It’s even better than Doom package manager
- Use good-practice solutions, like replace heavy things with the more light. (#nodoom)
- Use
perspectives
(virtual desktops/workspaces for Emacs) with intuitive way
Interesting way to extension, which you can call chaos.
You don’t needed my pam
package manager if you want anything other! You don’t needed in any strict file system! You don’t need in any macros!
Every config file can be in any sub-folder of /lisp/
, have any name, contains any things. Only one separation is that files which not always needed at startup you can place at /lisp/local-projects/
and you will need to build config emacs --modules
and all files from /lisp/
will be joined at /dist/my-modules.el
you can see source of my-modules build inside local-projects/my-build-config.el
, also you can generate autoloads files for local-projects (use --local-projects
flag) after that you everywhere can use autoloaded functions from local-projects
.
So main files (files of framework part) are only:
early-init.el
some speed-hacks beginnings forinit.el
init.el
but only a part, where handling of CLI argumentslocal-projects/my-build-config.el
, I think you understand it
Before installation you must install JetBrainsMono Nerd Font
or other Nerd Font, if your font isn’t JetBrainsMono, change the variable inside .config/emacs/lisp/ui/my-fonts.el
To install my config on your config as main use the following shell command, if you need to only try this config (without delete your thing), change .config/emacs on anything like ~/semacs
wget https://github.com/semenInRussia/emacs.el/releases/download/latest/semacs.zip && mkdir .config/emacs -p && unzip -o -d .config/emacs semacs.zip
In this commands 3 steps:
- Install the archive which is updated automatically after every commit. This archive contains a configuration with installed 3rd party packages
- Make a directory where config will be located (defaults to .config/emacs but in windows it can be anything else)
- Unzip the archive to this folder
after this command on Linux you MUST run nerd-fonts-install-fonts
You can extract an archive into any directory, and run emacs using --init-directory
flag, like:
emacs --init-directory=~/semacs # semacs is cloned repo source
# or
emacs -l init.el # init.el is the file from repo
So you can test it without chemacs
and other stupid things, you even not need in emacs29 –init-directory, but you still needed in emacs29