Julia: Difference between revisions
fix links |
Added an example using the withPackages function |
||
| (5 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
[https:// | [https://julialang.org/ Julia] is a programming language, that aims to create an unprecedented combination of ease-of-use, power, and efficiency in a single language. | ||
== Installation And Versions == | == Installation And Versions == | ||
You can install the newest version of Julia either with <code>julia-bin</code> (the derivation which downloads the binary) or <code>julia< | You can install the newest version of Julia either with <code>julia-bin</code> (the derivation which downloads the binary) or <code>julia</code> (the derivation which builds Julia from the source). From the end-user perspective, -bin packages should be indistinguishable from source-built ones. | ||
== Packages == | == Packages == | ||
Julia packages can be installed via nix using the <code>julia.withPackages</code> function. For example:<syntaxhighlight lang="nix"> | |||
{pkgs, ...}: | |||
let | |||
myjulia = (pkgs.julia.withPackages [ | |||
"Plots" | |||
]); | |||
in | |||
{ | |||
environment.systemPackages = [ myjulia ]; | |||
home.packages = [ myjulia ]; # if using home manager | |||
} | |||
</syntaxhighlight> | |||
You can also install packages the [https://docs.julialang.org/en/v1/stdlib/Pkg/ without nix.] | |||
Some Julia packages expect binaries to be installed on your system. Until a better solution is found, you can run Julia inside [[Distrobox]]. | Some Julia packages expect binaries to be installed on your system. Until a better solution is found, you can run Julia inside [[Distrobox]]. | ||
Most notably, Julia Plots does not work. You can use [http://gadflyjl.org/stable/ Gadfly] instead. | Most notably, Julia Plots does not work. You can use [http://gadflyjl.org/stable/ Gadfly] instead. | ||
[[ | |||
As of April 2026, the above statement is no longer accurate. [https://docs.juliaplots.org/stable/ Julia Plots] does seem to work with no additional configuration. | |||
Another solution is to enable [https://github.com/nix-community/nix-ld nix-ld], see also [https://nix.dev/guides/faq#how-to-run-non-nix-executables here]. | |||
[[Category:Languages]] | [[Category:Languages]] | ||