# This file is responsible for configuring your application # and its dependencies with the aid of the Mix.Config module. # # This configuration file is loaded before any dependency and # is restricted to this project. use Mix.Config # Customize non-Elixir parts of the firmware. See # https://hexdocs.pm/nerves/advanced-configuration.html for details. config :nerves, :firmware, rootfs_overlay: "rootfs_overlay" # Use shoehorn to start the main application. See the shoehorn # docs for separating out critical OTP applications such as those # involved with firmware updates. config :shoehorn, init: [:nerves_runtime<%= if init_gadget? do %>, :nerves_init_gadget<% end %>], app: Mix.Project.config()[:app] # Use Ringlogger as the logger backend and remove :console. # See https://hexdocs.pm/ring_logger/readme.html for more information on # configuring ring_logger. config :logger, backends: [RingLogger]<%= if init_gadget? do %> # Authorize the device to receive firmware using your public key. # See https://hexdocs.pm/nerves_firmware_ssh/readme.html for more information # on configuring nerves_firmware_ssh. key = Path.join(System.user_home!, ".ssh/id_rsa.pub") unless File.exists?(key), do: Mix.raise("No SSH Keys found. Please generate an ssh key") config :nerves_firmware_ssh, authorized_keys: [ File.read!(key) ] # Configure nerves_init_gadget. # See https://hexdocs.pm/nerves_init_gadget/readme.html for more information. config :nerves_init_gadget, ifname: "usb0", address_method: :linklocal, mdns_domain: "nerves.local", node_name: nil, node_host: :mdns_domain, ssh_console_port: 22<% end %> # Import target specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. # Uncomment to use target specific configurations # import_config "#{Mix.Project.config[:target]}.exs"