artiq/nix
2019-02-10 01:04:28 +08:00
..
pkgs nix: use nixpkgs cargo 2019-02-09 14:19:34 +08:00
artiq-board.nix nix: consistent naming of board artifacts 2019-02-09 18:55:50 +08:00
artiq-dev.nix nix: use nixpkgs cargo 2019-02-09 14:19:34 +08:00
conda-board.nix nix: consistent naming of board artifacts 2019-02-09 18:55:50 +08:00
conda-build.nix nix: build board conda package 2019-02-09 18:06:36 +08:00
default.nix nix: use nixpkgs cargo 2019-02-09 14:19:34 +08:00
fetch-llvm-clang.nix nix: add Clang back 2018-08-16 13:03:55 +08:00
fetchcargo.nix nix: commit missing file 2019-02-09 14:44:32 +08:00
README.rst nix: fix user instructions formatting 2019-02-10 01:04:28 +08:00
release.nix nix: consistent naming of board artifacts 2019-02-09 18:55:50 +08:00
shell-dev.nix nix: cleanup 2019-02-09 10:24:22 +08:00
shell.nix nix: do not install development packages in user environment 2019-01-01 23:35:55 +08:00

Use ARTIQ via the Nix Package Manager
=====================================

These instructions provide an alternative route to install ARTIQ for people who do not wish to use conda.

This sets up an environment suitable for using ARTIQ, including the ARTIQ-Python compiler, device drivers, and the graphical user interfaces. This works correctly on Linux, and partially works (but not to a level that we would consider usable) with WSL introduced in Windows 10.

* Install the Nix package manager

  * many Linux distros already have a package for the `Nix package manager <http://nixos.org/nix/>`_

    * for example: ``$ apt-get install nix``

  * if you would like to install via sh

    * ``$ wget https://nixos.org/nix/install``

    * ``$ sh install``

    * ``$ source ~/.nix-profile/etc/profile.d/nix.sh``

* ``$ nix-channel --add https://nixbld.m-labs.hk/project/artiq/channel/latest m-labs``
* ``$ nix-channel --update``
* create the file ``~/.config/nix/nix.conf`` with the following content:
```
substituters = https://cache.nixos.org https://nixbld.m-labs.hk
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nixbld.m-labs.hk-1:5aSRVA5b320xbNvu30tqxVPXpld73bhtOeH6uAjRyHc=
```
* ``$ nix-env -i python3.6-artiq``

ARTIQ development environment with Nix
======================================

Run ``nix-shell shell-dev.nix`` to obtain an environment containing Migen, MiSoC, Microscope, jesd204b, Clang, Rust, Cargo, and OpenOCD in addition to the user environment above.

This creates a FHS chroot environment in order to simplify the installation and patching of Xilinx Vivado (it needs to be installed manually e.g. in your home folder).

You can then build the firmware and gateware with a command such as ``python -m artiq.gateware.targets.kasli --gateware-toolchain-path ~/Xilinx/Vivado``.