These optional dotfiles indicate the root of a module or module group (:lang), and will later contain module metadata. They will also serve as an alternative to packages.el and doctor.el, and will aide the parts of the v3.0 module API concerned with resolving the current module from a path (`doom-module-from-path`), which currently rely too heavily on parsing path strings. For now, however, they're simply placeholders. |
||
---|---|---|
.. | ||
.doommodule | ||
config.el | ||
doctor.el | ||
packages.el | ||
README.org |
:tools direnv
Description unfold
This module integrates direnv into Emacs.
direnv is an environment switcher for the shell. It knows how to hook into bash, zsh, tcsh, fish shell and elvish to load or unload environment variables depending on the current directory. This allows project-specific environment variables without cluttering the ~/.profile file.
Before each prompt, direnv checks for the existence of a ".envrc" file in the current and parent directories. If the file exists (and is authorized), it is loaded into a bash sub-shell and all exported variables are then captured by direnv and then made available to the current shell.
Maintainers
Module flags
This module has no flags.
Packages
Hacks
envrc-mode
has been modified to fail gracefully ifdirenv
isn't available.envrc-global-mode
has been modified to activate envrc-mode sooner in the major mode activation process, so that any env state performed in mode hooks aren't overwritten by direnv.- Added direnv support for Org src blocks.
TODO Changelog
This module does not have a changelog yet.
Installation
Enable this module in your doom!
block.
This module requires direnv.
MacOS
brew install direnv
Arch Linux
direnv
is available on the AUR:
yay -S direnv
NixOS
environment.systemPackages = [ pkgs.direnv ];
Or $ nix-env -i direnv
TODO Usage
This module's usage documentation is incomplete. Complete it?
To make use of direnv you need a .envrc
file in a directory. Any time you open
a file or buffer in said directory, the doom-package:envrc Emacs package will kick in,
activate the local env, and inject it into Emacs for the current buffer.
TODO Configuration
This module has no configuration documentation yet. Write some?
Troubleshooting
direnv + nix is slow
Consider augmenting direnv with lorri, which will cache nix builds and speed up direnv tremendously:
services.lorri.enable = true;
Frequently asked questions
This module has no FAQs yet. Ask one?
TODO Appendix
This module has no appendix yet. Write one?