At a high level, devenv is a modular IDE configuration declared with Nix. It comes in three flavors:
- minimal: just git and basic IDE configuration
- normal: common languages
- complete: includes support for all the languages
And it supports four editors:
- emacs
- emacs-nox
- vim
- vscode
Setup base environment for clibs and nixGL (which needs --impure for NVidia):
nix develop --impure github:podenv/devenv
Run the editor with the normal flavor:
nix run github:podenv/devenv#emacs-noxnix run github:podenv/devenv#vimnix run github:podenv/devenv#vscode
Install the languages toolchains:
nix profile install github:podenv/devenv#emacs-nox $(nix run github:podenv/devenv#toolchains)
To use the other flavors, add -minimal or -extra to the attribute name, for example:
nix run github:podenv/devenv#vim-minimalnix run github:podenv/devenv#emacs-complete
Install all the runtimes with:
$ nix profile install github:podenv/devenv#emacs-complete $(nix run github:podenv/devenv#toolchains-complete)Get the list of installables:
$ nix flake show github:podenv/devenvGet the dependencies list:
$ nix path-info --derivation -rsSh $installableTry running
nix build $installableif path-info fails witherror: path '/nix/store/...is not valid
Get the runtime dependencies list:
$ nix path-info -rsSh $installableDisplay the list as a tree:
$ nix-store -q --tree $(nix path-info $installable)Contribution are most welcome, for example the project needs help to:
- Support more languages.
- Add Vim configuration.
- Improve documentation.
- Define more installables (such as
emacs-evil).