https://github.com/podenv/devenv
https://github.com/podenv/devenv
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/podenv/devenv
- Owner: podenv
- License: apache-2.0
- Created: 2020-10-25T15:14:31.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-02T23:55:22.000Z (over 1 year ago)
- Last Synced: 2025-04-24T01:44:18.844Z (about 1 year ago)
- Language: Nix
- Size: 231 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# devenv: a developer environment
## Overview and scope
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
## Use
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-nox`
- `nix run github:podenv/devenv#vim`
- `nix 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-minimal`
- `nix run github:podenv/devenv#emacs-complete`
Install all the runtimes with:
```ShellSession
$ nix profile install github:podenv/devenv#emacs-complete $(nix run github:podenv/devenv#toolchains-complete)
```
## Inspect
Get the list of installables:
```ShellSession
$ nix flake show github:podenv/devenv
```
Get the dependencies list:
```ShellSession
$ nix path-info --derivation -rsSh $installable
```
> Try running `nix build $installable` if path-info fails with `error: path '/nix/store/...` is not valid
Get the runtime dependencies list:
```ShellSession
$ nix path-info -rsSh $installable
```
Display the list as a tree:
```ShellSession
$ nix-store -q --tree $(nix path-info $installable)
```
## Contribute
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`).