Languages
What if you could have the tooling for any programming language by flipping a toggle?
devenv.nix
{ pkgs, ... }:
{
languages.python.enable = true;
languages.python.version = "3.11.3";
languages.rust.enable = true;
# https://devenv.sh/reference/options/#languagesrustchannel
languages.rust.channel = "stable";
}
devenv
will provide executables for both languages:
Supported languages
languages.ansible.enable = true;
languages.c.enable = true;
languages.clojure.enable = true;
languages.cplusplus.enable = true;
languages.crystal.enable = true;
languages.cue.enable = true;
languages.dart.enable = true;
languages.deno.enable = true;
languages.dotnet.enable = true;
languages.elixir.enable = true;
languages.elm.enable = true;
languages.erlang.enable = true;
languages.fortran.enable = true;
languages.gawk.enable = true;
languages.gleam.enable = true;
languages.go.enable = true;
languages.haskell.enable = true;
languages.idris.enable = true;
languages.java.enable = true;
languages.javascript.enable = true;
languages.jsonnet.enable = true;
languages.julia.enable = true;
languages.kotlin.enable = true;
languages.lean4.enable = true;
languages.lua.enable = true;
languages.nim.enable = true;
languages.nix.enable = true;
languages.ocaml.enable = true;
languages.odin.enable = true;
languages.opentofu.enable = true;
languages.pascal.enable = true;
languages.perl.enable = true;
languages.php.enable = true;
languages.purescript.enable = true;
languages.python.enable = true;
languages.r.enable = true;
languages.racket.enable = true;
languages.raku.enable = true;
languages.robotframework.enable = true;
languages.ruby.enable = true;
languages.rust.enable = true;
languages.scala.enable = true;
languages.shell.enable = true;
languages.solidity.enable = true;
languages.standardml.enable = true;
languages.swift.enable = true;
languages.terraform.enable = true;
languages.texlive.enable = true;
languages.typescript.enable = true;
languages.typst.enable = true;
languages.unison.enable = true;
languages.v.enable = true;
languages.vala.enable = true;
languages.zig.enable = true;
You can find all supported options for languages here.