Files
doomemacs/modules/tools/direnv
Henrik Lissner 754e0f7982 bump: :tools
Silex/docker.el@6f8bba0d11 -> Silex/docker.el@813c00410b
cjohansson/emacs-ssh-deploy@95fb076c9b -> cjohansson/emacs-ssh-deploy@dc8882d180
editorconfig/editorconfig-emacs@c707d8d0f1 -> editorconfig/editorconfig-emacs@24f5b2b1cd
emacs-ansible/emacs-ansible@e171dacc12 -> emacs-ansible/emacs-ansible@03e285bb54
emacs-citar/citar-org-roam@82d47b5df1 -> emacs-citar/citar-org-roam@ff38add0aa
emacs-citar/citar@0f1786b7fe -> emacs-citar/citar@2826996799
emacs-lsp/dap-mode@605448b4fd -> emacs-lsp/dap-mode@ffb7957612
emacs-lsp/lsp-ivy@9ecf4dd9b1 -> emacs-lsp/lsp-ivy@6b2a625f08
emacs-lsp/lsp-mode@32628135ef -> emacs-lsp/lsp-mode@d28dd6b7e3
emacs-lsp/lsp-ui@072bb29152 -> emacs-lsp/lsp-ui@f0edfac7b3
emacs-straight/crdt@7f91efcc72 -> emacs-straight/crdt@24cf2fca33
emacs-straight/eglot@81eb273965 -> emacs-straight/eglot@d3e44d33b7
emacs-tree-sitter/elisp-tree-sitter@02fe7b86d9 -> emacs-tree-sitter/elisp-tree-sitter@fe98d0cae7
emacs-tree-sitter/tree-sitter-langs@465a64032d -> emacs-tree-sitter/tree-sitter-langs@4f951dbb53
gromnitsky/wordnut@feac531404 -> gromnitsky/wordnut@dffc75a455
hcl-emacs/terraform-mode@abfc10f5e3 -> hcl-emacs/terraform-mode@5bdd734a87
joostkremers/parsebib@489f690f43 -> joostkremers/parsebib@f0e57a3606
magit/forge@9f2efc3c03 -> magit/forge@96fe98120c
magit/magit@f2a6133443 -> magit/magit@8b6bb7c7e8
meain/evil-textobj-tree-sitter@5056ebc231 -> meain/evil-textobj-tree-sitter@bce236e5d2
mohkale/consult-eglot@c5f87d9244 -> mohkale/consult-eglot@9b490eb384
purcell/envrc@3c5a60dd91 -> purcell/envrc@60f5091538
tmalsburg/helm-bibtex@8b71b4f5ce -> tmalsburg/helm-bibtex@6064e8625b
tumashu/posframe@ac9f954ac4 -> tumashu/posframe@8165153682

- Adds new aarch64-unknown-linux-gnu binaries for tree-sitter (#8215).

Fix: #7967
Close: #8215
Co-authored-by: l2dy <l2dy@users.noreply.github.com>
2025-01-09 00:29:41 -05:00
..
2024-09-14 20:47:39 -04:00
2019-04-05 03:16:37 -04:00
2025-01-09 00:29:41 -05:00

: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.

Module flags

This module has no flags.

Hacks

  • envrc-mode has been modified to fail gracefully if direnv 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

Report an issue?

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?