emacs-direnv
.emacs.d
emacs-direnv | .emacs.d | |
---|---|---|
11 | 19 | |
321 | 1,382 | |
- | - | |
2.9 | 5.2 | |
about 1 month ago | about 2 months ago | |
Emacs Lisp | Emacs Lisp | |
BSD 3-clause "New" or "Revised" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
emacs-direnv
- Development Environments with Guix, similar to devenv.sh
-
env-commander.el -- Per-directory env setup for shell commands
env-commander-mode is a simple mode which allows any shell commands that Emacs invokes to run one or more commands beforehand to initialize the shell environment. There are many Emacs packages which can configure process environments, for example, direnv, but they lack the ability to go a step further and define shell functions and aliases, which is often required by "virtual environment" tools. For those who prefer interacting with shell commands via shell-command rather than shell, eshell, or term, env-commander-mode is here to assist.
-
How to properly configure dependencies when using LSP + nix
I'm using nix to manage python dependencies (see excerpt of flake.nix below) but this means those python dependencies are in a /nix directory, so when lsp tries to figure out project root for them, it thinks they have nothing to do with my own project. Also I'm using emacs-direnv to transparently switch into nix environments (.envrc + use flake), so direnv (correctly) unloads my LSP executable (configured in flake.nix), so even if they should be considered totally separate projects LSP-mode doesn't know how to start up the server.
-
Eglot has landed on master: Emacs now has a built-in LSP client
I've had a good experience with direnv[1] and emacs-direnv[2].
Direnv can automatically load an environment when you enter a directory, so it automatically "opens" virtualenvs/nix shells/etc. The Emacs direnv mode ensures that each buffer sees the direnv mode for its project directory.
I've found this to be a great compromise between automatic behavior on the one hand and transparency + control on the other—I get the right environment loaded automatically very consistently and, if something goes wrong, I can open a shell and poke around to see what's going on (is my nix shell messed up? is the right tool not loaded via direnv? etc). The only time I need to do anything manually is if I make a change to the environment and need to update Emacs about it, in which case I just run M-x direnv-update-environment.
Once I got this set up, I can just rely on executable-find to check for (and find) exactly the right tool on a per-project basis—no more worrying about global or seeing the wrong version of a tool. This also made it easy to do stuff like only run formatting if the corresponding tool is available: I add hooks to various programming language modes that only turn on lsp/formatting/etc if executable-find sees the corresponding executable.
Compared to the hassle I've had to go through helping my colleagues debug VSCode not seeing the right conda environment, virtualenv or the right version of various tools, Emacs + direnv has been a far nicer and more consistent experience.
[1]: https://direnv.net/
[2]: https://github.com/wbolster/emacs-direnv
-
How to handle credentials for Python in Emacs
Alternatively from what /u/hantva said, you can try using direnv and its integration with Emacs. This has a benefit of scaling better if you have more than one such project as each set of env vars is separate.
-
NixShell + direnv + Emacs
I'm using lorri and emacs-direnv together, works perfectly fine for me.
-
Anyone using sage-shell-mode?
Thanks, I'll check this out if I can't get my ideal setup to work. Presume you meant this: https://github.com/wbolster/emacs-direnv ?
-
Is there a way to configure my Python interpreter to be inside a docker container like in Pycharm?
I first install direnv which allows me to have a different environment per directory, or in my case, a project. And there is a project that connects Emacs to this. https://github.com/wbolster/emacs-direnv
-
Doom Emacs + Pyright + LSP + Conda
I use this to source .envrc files into my emacs environment: https://github.com/wbolster/emacs-direnv
-
I created a gist with a full python config with Emacs
almost. to integrate with a shell, you would indeed hook it onto the shell's prompt function. to integrate it with Emacs, you would use https://github.com/wbolster/emacs-direnv , so Emacs sees the project specific process environment too. the isolation is primarily achieved by setting up a custom PATH, PYTHON_PATH and similar vars
.emacs.d
-
Any fun ways to learn Emacs?
After a month or so, if you're still curious, try https://emacsrocks.com/
17 small length video tutorials of great quality (as informative as fun)
-
interested in emacs as a whole, but have no idea what it can really do
https://emacsrocks.com has lots of quick/digestable demos. This one is a favourite https://emacsrocks.com/e13.html (the ending is great, stick with it).
- magnars' Emacs Config used in emacsrocks.com
-
Emacs User Survey – 2022 Results
If anyone's looking for short demos, the https://emacsrocks.com shorts are great. My all-time favorite is https://emacsrocks.com/e13.html (well worth watching the ending).
-
SWEs - how do yall effectively take notes on the job?
Emacs Rocks! - A bunch of cool short videos that showcase cool tips and tricks.
- Eglot has landed on master: Emacs now has a built-in LSP client
-
Packages that make Emacs Lisp more pleasant
We will mainly look at 3 packages: s.el, f.el and dash.el. Two of these packages (first and last) are maintained by Magnar Sveen, who are also known for Emacs Rocks and What The .emacs.d (which are still great resources for learning and finding inspiration for your Emacs configuration!). We will also look at ht.el. These packages are used a lot in many of the Emacs packages you use in a day to day basis, like lsp-mode and rustic just to name a few. As most of these already have tons of examples in their READMEs, my main goal of this article is to inspire you to check them out. Hopefully you will know of one new package after reading this article :)
-
Nano master race
Emacs Rocks!
- Vivado editor alternatives
-
Can't learn emacs, can't use anything else (rant)
Maybe you've seen them already but there's also http://emacsrocks.com/ videos, emacsconf too
What are some alternatives?
envrc - Emacs support for direnv which operates buffer-locally
consult - :mag: consult.el - Consulting completing-read
setup-emacs-windows - A Github Action that installs a specific emacs version
meow - Yet another modal editing on Emacs / 猫态编辑
direnv - unclutter your .profile
expand-region.el - Emacs extension to increase selected region by semantic units.
container-env - Wrapper commands to run inside docker, simulating the behaviour of tools like rvm, rbenv, virtualenv etc...
dap-mode - Emacs :heart: Debug Adapter Protocol
lorri - Your project’s nix-env [maintainer=@Profpatsch,@nyarly]
configuration - My configs: OS setups, dotfiles, scripts and more.
ob-sagemath - org-babel integration with SageMath
link-hint.el - Pentadactyl-like Link Hinting in Emacs with Avy