elpaca
crafted-emacs
elpaca | crafted-emacs | |
---|---|---|
29 | 31 | |
537 | 701 | |
- | 0.3% | |
9.5 | 8.8 | |
4 days ago | 15 days ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
elpaca
-
Zed is now open source
Elpaca [1] does not do this. I use it and it works a treat.
1: https://github.com/progfolio/elpaca
- Package contribution workflow
-
Returning emacs user - what packages are common now?
As others have said your packages work well and should still be widely supported. use-package has been blessed by the maintainers of emacs and will be a default package when Emacs 29 is released. If you are looking for another package manager /u/nv-elisp 's https://github.com/progfolio/elpaca would be a good one to checkout.
-
If you like Straight, you should try Elpaca
One of my biggest challenges with it is for packages that have extensions. Where they just work with Elpa/Melpa but then when you convert over to Elpaca they break and you have to go digging around Elpaca's manual and try to figure out the right file incantation that will make things works.
-
Using package loader (e.g. use-package) in file besides init.el?
;; Example Elpaca configuration -*- lexical-binding: t; -*- (defvar elpaca-installer-version 0.3) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" :ref nil :files (:defaults (:exclude "extensions")) :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) (build (expand-file-name "elpaca/" elpaca-builds-directory)) (order (cdr elpaca-order)) (default-directory repo)) (add-to-list 'load-path (if (file-exists-p build) build repo)) (unless (file-exists-p repo) (make-directory repo t) (condition-case-unless-debug err (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) ((zerop (call-process "git" nil buffer t "clone" (plist-get order :repo) repo))) ((zerop (call-process "git" nil buffer t "checkout" (or (plist-get order :ref) "--")))) (emacs (concat invocation-directory invocation-name)) ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" "--eval" "(byte-recompile-directory \".\" 0 'force)"))) ((require 'elpaca)) ((elpaca-generate-autoloads "elpaca" repo))) (kill-buffer buffer) (error "%s" (with-current-buffer buffer (buffer-string)))) ((error) (warn "%s" err) (delete-directory repo 'recursive)))) (unless (require 'elpaca-autoloads nil t) (require 'elpaca) (elpaca-generate-autoloads "elpaca" repo) (load "./elpaca-autoloads"))) (add-hook 'after-init-hook #'elpaca-process-queues) (elpaca `(,@elpaca-order)) ;; Install use-package support (elpaca elpaca-use-package ;; Enable :elpaca use-package keyword. (elpaca-use-package-mode) ;; Assume :elpaca t unless otherwise specified. (setq elpaca-use-package-by-default t)) ;; Block until current queue processed. (elpaca-wait) ;;Load your "./modes" files here (cl-loop for mode in (directory-files "./modes" 'full "\\.el$") (load-file mode)) ;; Local Variables: ;; no-byte-compile: t ;; no-native-compile: t ;; no-update-autoloads: t ;; End:
-
How to Make Emacs Look Cooler with Simple Customization
Elpaca. https://github.com/progfolio/elpaca - an alternative to the built in package manager. Very fast with an eminently decent UI, and allows for any or no fine-tuning how any given package should be installed.
-
Emacs lisp huge single file packages
Here's an overview of the current structure of Elpaca:
- Elpaca: The Basics
-
emacs can be "heavy" but still blazingly fast
If you get around to actually measuring it, let me know. I'm collecting data points for comparison with Elpaca.
-
Will any emacs package manager let me audit packages before installing them?
Elpaca has the elpaca-fetch command for this purpose. It fetches a package repository and will display the commit log. Each commit hash is a button which will open a magit diff view if magit is installed. It could very easily be extended to work with vc, ediff, etc. Here's a screenshot of what the update log looks like:
crafted-emacs
-
Is doom emacs still actively maintained?
Keep an eye on Crafted Emacs which has a v2Beta release branch. It's been evolving. The v2Beta is a rewrite. It aims to provide a minimalist leg up on vanilla Emacs for new Emacs users. It's goal is to take you from first steps to a point where you have learned a great deal and built your configuration. Then you may be comfortable ditching the Crafted Emacs boilerplate configuration entirely. Think of it as a starter kit. Follow SystemCrafters on YouTube (live stream mostly) & Matrix (they are leaving Discord). Despite the live stream being lengthy, there is much to be learned as you bear witness to David figuring things out. Over time, you pickup on those techniques such as looking up a variable state, reviewing functions, evaluating snippets of Elisp in real time, etc. Also recommend, Mastering Emacs as a fantastic ebook with free updates. Once 29.1 ships, no doubt, there will be a free update to the ebook.
-
Returning emacs user - what packages are common now?
I'd recommend you have a look at crafted-emacs. It's an example of how far Emacs can actually go without third-party packages. Then you can add minimal packages (completion and specific tool integrations) to further enhance the experience.
-
Emacs bankruptcy
For me it's quite stable except some issues I had with vertico. Anyways, I first started to rewrite my doom config into plain vanilla emacs (with org mode literate configs), and then I discovered crafted which allowed me to remove some code with commonly set sane defaults, e.g. stuff from https://github.com/SystemCrafters/crafted-emacs/blob/master/modules/crafted-defaults.el.
- doom emacs
-
Kudos to Emacs developers
I have been surprised at how many people have so ardently defended only using built-ins and raw package.el and their own janky ensure methods when use-package was available and did it all better. And, it even lets you configure Emacs itself (not just packages), as well as seamlessly letting you try different package management tools like straight.el. Getting it into Emacs itself hopefully makes this a more prevalent way of showing users how to craft their own config.
-
Switched to VSCode... I miss Atom :(
If you need a staring point for configuring there's some nice light ones like emacs-bedrock and crafted-emacs, and also some fully pre-configured Emacs distributions that you can choose from (though those look harder to configure to one's personal needs to me, but I haven't tried them so wouldn't know).
-
Boilerplate config
I'll second https://github.com/SystemCrafters/crafted-emacs
- What is the "best" GNU Emacs set up one could have just using built-in features?
- Chosing an Emacs Distro on M1 OS X
-
Emacs 29 is nigh What can we expect?
And if you find yourself between the two extremes, perhaps https://github.com/SystemCrafters/crafted-emacs
What are some alternatives?
elpa-mirror - Create local emacs package repository. 15 seconds to install 115 packages.
chemacs2 - Emacs version switcher, improved
straight.el - 🍀 Next-generation, purely functional package manager for the Emacs hacker.
.emacs.d - My emacs configuration
consult-notes - Use consult to search notes
no-littering - Help keeping ~/.config/emacs clean
ejira - Emacs JIRA integration
doomemacs - An Emacs framework for the stubborn martian hacker
toggleterm.nvim - A neovim lua plugin to help easily manage multiple terminal windows
dotemacs
GNU Emacs - Mirror of GNU Emacs
emacs.onboard - Single-file Emacs starter kit without 3rd-party packages. Almost vanilla Emacs, with just the right amount of sweetness to flatten the learning curve.