# Nix development environments, for various languages Those of us on NixOS never install language toolkits system-wide, unlike other distros. Regrettably, many projects are not taking advantage of Nix for reproducible development environments. You should make a big fuss about this in every open source project you are a part of and constantly evangelize about Nix. Until Nix is universally adopted, this repository serves as a collection of flakes which provides compilers, package managers, and basic development tools like LSPs for common languages. Simply clone this to a desired location, then run: ```bash nix develop # # example nix develop ~/.devenvs#rustNightly # provides rust-analyzer, rustc, cargo, and some others from nightly toolchain ``` ## Automatic environment loading For convenience, you can use [nix-direnv](https://github.com/nix-community/nix-direnv) to automatically load these environments. Simply add the following `.envrc` to the project directory: ```bash # file: .envrc use flake # ``` Example: ```bash use flake ~/.devenvs#go ``` If you don't want to commit these files, make sure to run the following: ```bash # tell git to ignore these direnv files for this local repository git update-index --skip-worktree .envrc .direnv ```