vulpea icon indicating copy to clipboard operation
vulpea copied to clipboard

DOOM installation

Open zeorin opened this issue 1 year ago • 5 comments

I'm using vulpea to speed up my org-agenda, and I found I have to install it like this in order to have it work:

(use-package! vulpea
  :demand t
  :hook ((org-roam-db-autosync-mode . vulpea-db-autosync-enable)))

Else I get the following error when opening a note:

let*: Symbol’s function definition is void: vulpea-buffer-tags-get

zeorin avatar Jan 10 '24 08:01 zeorin

Do you mean that one needs to add :demand t to the recipe we have in the README for doom emacs users?

d12frosted avatar Jan 11 '24 07:01 d12frosted

I'm not sure if that will be true for all DOOM users. It seems to be necessary, at least, for my use case. I've also tried :after org/:after org-roam, but that didn't work. :demand t solved my issue.

I would prefer to lazy-load vulpea (not because I'm experiencing a specific start up performance hit, just as a general matter of best practice), but I'd much rather have org-agenda be snappy, so if I need to load it unconditionally, I'll happily do that.

zeorin avatar Jan 11 '24 07:01 zeorin

i have an issue to where i just couldnt install it either,

ok i installed doom from scratch and this package $really$ breaks doom emacs.

the leader key gets broken, evil mode gets broken etc. etc etc.

fislysandi avatar Apr 03 '24 12:04 fislysandi

if doom is broken then you should see some errors, no? would be helpful to see them, I am not using doom myself, but can try to guess what's wrong

d12frosted avatar Apr 03 '24 16:04 d12frosted

I am sharing my experience on Doom Emacs, because I have been facing the same issue.

Without the :demand t, I have also a small subset of vulpea functions loaded; I have not made a list, but for example, all vulpea-meta* interactive functions would be missing. After adding this bit, everything seems to load fine.

I also had a difficult time with the db-autosync hooks. I tried every (usually working) way that I know of like a separate add-hook! function for example, nothing ever worked, Vulpea autosync mode never gets enabled on my end.

I am an org-roam-ui user, and they say in their 'Install' section that 'Org-roam does not have a hookable mode anymore'. I have no idea if that is currently true; it surprises me, because all Vulpea users using the README instructions would be affected, but at the end of the day, I am not so hang up on startup times, so I hooked it to after-init, and everything seems to work well now. That is the current state of my Vulpea config:

(use-package! vulpea
  :demand t
  :hook (after-init . vulpea-db-autosync-enable)
  )

That is my first post here, so I will take the opportunity to thank you for this very useful library, and the Vino example. I am fairly new to Emacs, and it took me a while to be able to understand what it was all about, but when I finally did, it unlocked a number of crippling blocks to my personal workflow. :+1:

lyndhurst avatar Oct 15 '24 09:10 lyndhurst

I also experienced the same issue as the above, where I had to force-load the package by adding :demand t. After that, everything appears to work as expected[1].

I am also a beginner to Emacs. However, I am guessing something DOOM does with its package wrapping/lazy-loading functionality might be interfering with this. Regardless, it would probably be beneficial to add a note to the README.

Thanks for your excellent blog posts and tooling!

[1] I haven't leveraged the db/autosync portions of Vulpea yet

codyro avatar Dec 30 '24 02:12 codyro

Added :demand t :D https://github.com/d12frosted/vulpea/commit/1217e4e2ef498da82663a8e23eb62a07b219887c

d12frosted avatar Feb 14 '25 09:02 d12frosted