Avatar

nv-elispB

nv-elisp@alien.top
Joined
0 posts • 45 comments
Direct message

You didn’t mention which Emacs Version, package manager, etc.

permalink
report
reply

Instead of wondering about what everyone else is using, why not try each one and see what works for you? Ultimately, that’s all that matters.

permalink
report
reply

Seems over-complicated. Most of the “modules” amount to:

;;install package
;;require package
;;provide named feature for module

How is that any better than a single file with some use-package declarations? Especially considering you’re using a literate Org style. The blocks could be toggled with the “tangle” header arg. The Papa Roach Approach (“Cut my lisp; init pieces…this is my last resort!!!”) is an anti-pattern. It makes Emacs load slower and is harder to reason about. If the aim is to grow a community of users, what does this config offer over the myriad other options?

permalink
report
reply

What have you tried so far?

permalink
report
reply

is there any guide you can point me to?

google and the search bar on this subreddit both work great

permalink
report
reply

Be resourceful. Documentation, search engines, then support forums.

permalink
report
reply

so my question is, Is it worth it?

It’s worth more than a bunch of other people’s opinions.

permalink
report
reply

Customize display-buffer-alist to your liking. There is an Emacs manual section devoted to it as well as several online tutorials.

permalink
report
reply

Long story short, they’re not being compiled. The message is just output every time. There is a thread on emacs-devel or emacs-bug archive which offers a more detailed explanation if you search there.

permalink
report
reply

But, if we’re using use-package to also manage installing the packages for us (:ensure t), then why shouldn’t it know about the autoloads already and automagically imply a :defer t by default?

Package installation and activation are two seperate concerns. :ensure ensures the package is isntalled if it isn’t already. Users might want to ensure a package is installed and prefer it to be immediately required.

So, by default, we have to remember to either add :defer t or we have to remember that setting our own hooks, bindings, or commands will create autoloads for us.

I feel like you’re misunderstanding what autoloads do. Hooks do not autoload anything. The :commands use-package keyword does autolaod commands. This is useful when a package author has not provided the autoload cookie in the package for a command, or when you wish to forgo loading all of the autoloads.

I know that you can configure use-package to behave as though :defer t is set by default, but that’s just broken for packages that don’t have any autoloads.

How is it broken? There are other ways to load a package. Namely, require.

It feels like maybe use-package is doing too many things.

It only does what you tell it to do via user options and declarations.`

but that kind of sucks because there’s no reason to load magit before I actually want to use it for anything. So, what we can do instead is to implement the project.el integration ourselves

Or (use-package project :ensure nil :defer t :config (require magit)) There are multiple ways to set this sort of thing up and use-package (which should have been named use-feature) can be used to configure built-in features.

Either I’m a little dim or the tooling here is hard to use correctly.

Third option: You haven’t taken the time to digest the use-package manual and/or expand the macro to see what it’s doing. It’s a DSL. You have to learn it to use it effectively.

Am I the only one?

You must be. Otherwise someone would’ve written “use-package alternatives”, which has an almost searchable ring to it.

Ultimately, organization comes down to the user. Tools like use-package make it easier, but they do not guarantee it.

permalink
report
reply