There are a couple ways to install all the necessary packages. Either through a nix shell or by manually installing via the distributions package manager (likely apt)
This is mostly recommended for getting a reproducible testing environment. The steps are as follows:
- Install the nix package manager either for the entire system or just one user:
- Local user:
sh <(curl -L https://nixos.org/nix/install) --no-daemon - Local user:
sh <(curl -L https://nixos.org/nix/install) --daemon
- Local user:
- Update the channels via
nix-channel --update - Enter the build environment by running
nix-shell shell.nix- The build environment can be exited at any time by running
exit
- The build environment can be exited at any time by running
- This should install the main dependencies. However some of the python/node libraries still need to be installed
- For node run
cd pi-src/webserver/rebuild && npm install - For python do the following:
- run
python -m venv ./venv - run
source ./venv/bin/activate - run
python -m pip install -r requirements.txt - Note: If adding any pip packages while in the env run
pip freeze > requirements.txt
- run
This assumes you are using apt as the package manager. The steps are as follows: NOTE: This uses a PPA for installing linux-wifi-hotspot. The tool can alternatively be built from source if needed.
- Run
sudo apt update - Make sure we can install PPAs by running
sudo apt install software-properties-common - Add required PPA
sudo add-apt-repository ppa:lakinduakash/lwh - Run
sudo apt updateagain - Run sudo apt install
nodejs npm python3 python3-pip arduino linux-wifi-hotspot - Install the necessary python packages
python3 -m pip install aiohttp aiohttp-cors - Make sure angular-cli is installed
npm install -g @angular/cli