# .emacs.d **Repository Path**: beyondpie/.emacs.d ## Basic Information - **Project Name**: .emacs.d - **Description**: 29 Garden Street Emacs - **Primary Language**: Emacs Lisp - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-22 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README * 29 Garden Street Emacs My configuration for emacs since Dec, 2020 till now. - Emacs version: latest (current 30.05 in development) - System: MacOS and Linux I learn a lot from spacemacs, which is a popular emacs configuration. I used it during 2017-2020. The key features I like: - Integrate the evil package very well. - Use leader keys to simplify key bindings, such as "space" in evil normal mode, "comma" for major mode, and so on. - Jumping among different windows easily with the support of the evil package. After reading part of the source codes in spacemacs, I know I can handle the similar experience with the packages: - [[https://github.com/noctuid/general.el][general]]: leader keybindings - [[https://github.com/emacs-evil/evil][evil]]: vim in emacs - [[https://github.com/emacs-evil/evil-collection][evil-collection]]: make evil more smooth. - [[https://github.com/emacs-helm/helm][helm]]: search anytime, anywhere. - [[https://github.com/joaotavora/eglot][eglot (default in Emacs)]] or [[https://github.com/emacs-lsp/lsp-mode][lsp (provide majority of utilities)]]: provide powerful, unified programming language support. ** Install Emacs - macOS: [[https://github.com/d12frosted/homebrew-emacs-plus][emacs-plus]] or [[https://emacsformacos.com/][Emacs for macOS]]. - Linux: follow the instruction from the official website ** Setup configurations Emacs needs to read a configuration file =init.el=, just like the one in this repository. In order to use the configurations here, you can #+BEGIN_SRC shell # back up original configuration if you have. cp -r ~/.emacs.d ~/dot_emacsd_bk rm -r ~/.emacs.d # download this configuration. cd ~ && git clone https://github.com/beyondpie/.emacs.d # download the packages this configuration needs cd ~/.emacs.d && git clone https://github.com/beyondpie/myelpa #+END_SRC Then you can open Emacs, which will takes some time to set up the configurations only at the first time you use this configuration. ** Explanations about packages - In current config, we use ~(setq package-archives '(("melpa" . "~/.emacs.d/myelpa/")))~ in =~/.emacs.d/init.el= to set the local archieves, where myelpa points to the git repository above. - If you want to use network to install packages (this happens when you have your configurations, and packages are not included in myelpa), you can firstly use ~(setq package-archives '(("melpa" . "https://melpa.org/packges/")))~. Then generate the local archives by yourself. - We can also use both local and website by setting different names of the package archives and set it explicitly when using =use-package= to install some package. ** Reference - [[https://github.com/purcell/emacs.d][Purcell's emacs.d]] - [[https://github.com/seagle0128/.emacs.d][Seagle's Centaur Emacs]] - [[https://github.com/manateelazycat/lazycat-emacs][Lazy cat's Emacs]] - [[https://github.com/syl20bnr/spacemacs][Spacemacs]] - [[https://github.com/doomemacs/doomemacs][Doom Emacs]] - [[https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/guide-en.org][Why and how to learn emacs]] [[https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/guide-zh.org][Chinese version]], which I learnt at first - [[https://www.masteringemacs.org][The Book of Mastering Emacs]] - [[https://github.com/redguardtoo/elpa-mirror/tree/master][elpa-mirror]]