About • Key Features • Getting Started • FAQ • Roadmap •
Collection of Nix Shells for Developing purposes.
By using the Nix package manager you can have any environment for development in your machine, all this happens due to Nix's reproducible builds and Nix's package manager with 80000 packages avaiable.
- Get started with a simple dev environment for your application.
- Have access to any necessary package in Nix Packages
- Or build your own package using the native Nix functions.
First things first, it's necessary to have Nix installed in your machine, it currently supports most linux distributions, MacOS and Windows through WSL2. You can see here the instructions details for installing on each operating system.
After installing Nix on your machine, enable the flake and nix command experimental feature.
And optionally, you can enable direnv and nix-direnv in your Nix configuration, this makes it possible to use the dev shell environments on your favorite shell other than bash (fish, zsh etc...).
If you have direnv and nix-direnv installed, you can just create a file called .envrc
in the root folder of your project, and them paste this in:
# .envrc
use flake "github:abehidek/env.nix#nodejs"
And voilà!, you have and nodejs environment ready for you to work on in your favorite shell!
You can select other environments, for example you can have elixir:
# .envrc
use flake "github:abehidek/env.nix#elixir"
If you don't want to enable direnv and nix-direnv, you can easily enter in our shell by running:
# Be sure to enable flake and nix-command features on your configuration!!
# nix develop github:abehidek/env.nix#<desired-environment>
$ nix develop github:abehidek/env.nix#nodejs
$ nix develop github:abehidek/env.nix#elixir
You will be dropped into a bash shell with the desired environment dependencies!
To add or remove dependencies, you can download this repository and edit the shell.nix
file or create one and add it into the flake.nix
outputs, and then to run instead of pointing into this github repository, you point into your local machine flake.nix
.
$ cd ~
$ git clone https://github.com/abehidek/env.nix
$ cd <your-project-directory>
Add the .envrc
file into your project root directory.
#.envrc
# use flake <flake-path>#<environment>
use flake ~/env.nix/flake.nix#nodejs
# nix develop <flake-folder-path>#<environment>
$ nix develop ~/env.nix#nodejs
- Elixir dev env.
- Nodejs dev env.
- Prisma
- Go dev env.
- Rust dev env.
- Tauri
Env.nix is an emailware. Meaning, if you liked using this app or it has helped you in any way, I'd like you send me an email at [email protected] about anything you'd want to say about this software. I'd really appreciate it!
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
abehidek.me · GitHub @abehidek · Twitter @guilhermehabe