radian
crafted-emacs
radian | crafted-emacs | |
---|---|---|
4 | 31 | |
484 | 701 | |
1.0% | 0.3% | |
6.7 | 8.8 | |
2 months ago | 14 days ago | |
Emacs Lisp | Emacs Lisp | |
MIT License | 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.
radian
- Whose user init have you found helpful?
-
Help with nested macros needed
(defvar test--var1 nil) ;; From https://github.com/raxod502/radian/blob/cb1dda7c8a697b2d6e3b2683805df6a085aed1c7/emacs/radian.el#L194 (defmacro my-when-compiletime (cond &rest body) "Like `when', but COND is evaluated at compile time. BODY is only compiled if COND evaluates to non-nil." (declare (indent 1)) (when (eval cond) (macroexp-progn body))) (defmacro my-log (s &rest args) "Log to *Messages*." `(when t (message (concat (propertize "the value is: " 'face 'font-lock-comment-face) (when (bound-and-true-p test--var1) (propertize (format "[%s/%s] " (substring (symbol-name (car test--var1)) 1) (cdr test--var1)) 'face 'warning)) ,s) ,@args))) ;; input should be an unquoted list containing like (:a b c) and c can be and ;; often is nil. The variable f take is included here for completeness but does ;; not do anything. (defmacro my-macro (input &rest body) (let ((c (car input)) (m (car (cdr input))) (f (cdr (cdr input)))) `(my-when-compiletime t (let ((test--var1 `(,,c . ,',m))) (message "test--var1 is %s" test--var1) (my-log "We are in my-macro") ,@body)))) ;; This works as expected (my-macro (:a b) (my-log "%s" test--var1)) ;; => test--var1 is (:a . b) ;; => the value is: [a/b] We are in my-macro ;; => the value is: [a/b] (:a . b) ;; => #("the value is: [a/b] (:a . b)" 0 14 (face font-lock-comment-face) 14 20 (face warning)) ;; This not (my-macro (:a b) (defun test-fun1 () (my-log "hey")) (run-with-timer 0.1 nil #'test-fun1)) ;; => test--var1 is (:a . b) ;; => the value is: [a/b] We are in my-macro ;; => [nil 24719 64999 224627 nil test-fun1 nil nil 964000] ;; => the value is: hey
- radian: 🍉 Dotfiles that marry elegance and practicality.
-
This is the Way
You might also want to check out Radian if you haven't seen that one yet. I haven't used it, but have read most of the code. It strikes me as a very Emacs-y "starter kit".
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?
.emacs.d - M-EMACS, a full-featured GNU Emacs configuration distribution
chemacs2 - Emacs version switcher, improved
dotfiles - My personal dotfiles (emacs, zsh, vim, i3)
.emacs.d - My emacs configuration
dotfiles - My dotfiles: macOS, OpenBSD, Linux. Setup: git init; git remote add github https://github.com/rollcat/dotfiles; git pull github master
no-littering - Help keeping ~/.config/emacs clean
magit-todos - Show source files' TODOs (and FIXMEs, etc) in Magit status buffer
doomemacs - An Emacs framework for the stubborn martian hacker
Dotfiles - There's no place like ~/
dotemacs
help - HELP Enables Literate Programming
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.