Declarative emacs/doom/org-roam (newbie)

Firstly, on nixos, we really don’t recommend using nix-env. Install packages with environment.systemPackages in your configuration.nix, or use home-manager and install them through home.packages in home.nix. See Stop using nix-env and Depreciate the use of nix-env to install packages? for more on that.

As for configuring emacs declaratively, it can get a bit more complicated. Doom emacs in particular already has its own systems for managing the config, so making it play nicely with nix can take a bit of doing. I wouldn’t recommend tackling the project of making that declarative as one of your first projects. Do something easier first.

When you’re ready, though, nix-doom-emacs can be used. You basically make your doom.d part of your configuration rather than part of your runtime homedir, and doom emacs’ setup process happens inside a derivation to produce the runtime setup.

Unfortunately, I don’t know what the issue is with org-roam, however I suspect it may be fixed if you use org-roam as packaged for nix, rather than the one deployed through emacs’ own mechanisms.

2 Likes