WIP
- What is this
- Dependencies
- Why
- Nix Shells
- Available repositories
- Elixir, Phoenix, and OTP
- JS
- Lua
- RoR
- Rust
- Usage
- Resources
- TODO
nix-shell (templates for several) development environments.
Basically, a nix-shell starts an interactive shell based on a Nix expression.
🧐 if not acquainted with the topic, it is better to do a quick research about it: Resources
We need either:
Nix installs required dependencies and separates the environment from others on your system.
We can then check this Nix configuration into version control and share it with others to make sure we are all running the same software. Especially with many dependencies this is a great way to prevent configuration drift between different team members & contributors.
Every and each nix-shell is hosted in its own repository.
🤔💭 rustup does not look so bad to install Rust (and manage it)
rustup self uninstall
feels so appealing 😈 compared to the enigmatic Nix sinkhole
- Setting up a Rust environment in Nix
- oxalica/rust-overlay
- experimenting with rust-overlay#nix-flakes
nix shell github:oxalica/rust-overlay
- experimenting with rust-overlay#nix-flakes
- git clone the desired repo
- example:
$ git clone https://github.com/maxdevjs/dev-nix-shells-nodejs my-awesome-nodejs-app
- example:
- cd into the cloned folder
- example:
cd my-awesome-nodejs-app
- example:
- allow direnv (if installed)
$ direnv allow
- otherwise
$ nix-shell shell.nix
(default)
- wait for initialization
- the first time all the tools will be installed
- following times there can be updates
- ...
- following times there can be updates
- the first time all the tools will be installed
- enjoy
- eventually 🤔
- update the
README.md
andLICENSE
files
Every single nix-shell repository offers relevant resources.
Here there are a few commons ones.