From 4278718975deb40e9454ea5a8f29b3ac3c061f44 Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Sat, 17 Aug 2024 23:58:19 -0700 Subject: [PATCH] add README --- README.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6abdf06 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# 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 +``` +