Skip to content
Initialization setup for Nerves devices
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Update docs Nov 22, 2019
test Start nerves_pack Nov 21, 2019
.formatter.exs Start nerves_pack Nov 21, 2019
.gitignore Start nerves_pack Nov 21, 2019 v0.1.0 release Nov 22, 2019
LICENSE Add license Nov 22, 2019 Update docs Nov 22, 2019
mix.exs v0.1.0 release Nov 22, 2019
mix.lock Add Wifi wizard Nov 21, 2019

Nerves Pack

This library is a compilation of dependecies and default configuration for getting a Nerves project up and running with minimal work. Essentially nerves_init_gadget 2.0 to work with new networking libraries and practices.

When added to your project, the following services are enabled by default:

  • Networking - Utilizes VintageNet. Ethernet, WiFi (without networks), and USB Gadget are started by default if a supporting interface is discovered on the device
  • mDNS - via MdnsLite. Supports nerves.local and the default hostname (i.e. nerves-1234.local) This is also configurable to other hostnames as well.
  • WiFi Setup Wizard - Utilizes VintageNetWizard to set device to AP host mode which provides a website for configuring WiFi networks from a broswer. This is enabled by default if wlan interface is available but not configured previously or by config.exs. See vintage_net_wizard library for more info.
  • SSH - Includes SSH access, firmware updates over SSH, and SFTP
  • Circuits GPIO - Interfacing with GPIO via circuits_gpio


def deps do
    {:nerves_pack, "~> 0.1.0"}

This will start NervesPack and all its services with your application. However, since it controls the networking and SSH interface, it is recommended to use it with shoehorn to start it up separately so you still have access to your device in the event that the main application fails. This can be done by adding to your config.exs

config :shoehorn,
  init: [:nerves_runtime, :nerves_pack],
  app: Mix.Project.config()[:app]
You can’t perform that action at this time.