Skip to content

nerves-project/nerves_motd

Repository files navigation

nerves_motd

Hex version API docs CircleCI REUSE status

nerves_motd prints a "message of the day" on Nerves devices.

Usage

The primary function is NervesMOTD.print() which prints the base layout based on the template below:

<LOGO>
<APP_NAME> <APP_VERSION> (<FW_UUID>) <PLATFORM> <TARGET>
  Serial       : <SERIAL_NUMBER>
  Uptime       : 18.296 seconds
  Clock        : 2023-05-18 00:05:20 JST <synchronization state>

  Firmware     : <VALIDITY> (<A|B>)      Applications : <N> started (<not started applications>)
  Memory usage : 74 MB (15%)             Part usage   : 210 MB (14%)
  Hostname     : <HOSTNAME>              Load average : 0.05 0.14 0.15

  <IFNAME>     : <IPV6>, <IPV4>
  <EXTRA_ROWS>

To have NervesMOTD print automatically when first accessing a device, add NervesMOTD.print() to your iex.exs file (typically in rootfs_overlay/etc/iex.exs)

Customization

NervesMOTD.print/1 supports a few options for customizing the base layout:

  • :logo - Change the logo displayed. Defaults to the Nerves logo. Set to "" to prevent any logo from being displayed
  • :extra_rows - a list of custom rows or a callback for returning rows to be appended to the end of the layout. The callback can be a 0-arity function reference or MFArgs tuple.

For convenience, NervesMOTD.print/1 options may be stored in the application environment in your config.exs to be used whenever NervesMOTD.print/0 is called:

config :nerves_motd,
  logo: """
  Custom logo
  """,
  extra_rows: [
    [{"Label", "value"}, {"Label2", "value2"}],
    [{"Long label", "Lots of text"}]
  ]

Installation

Install by adding :nerves_motd to your list of dependencies in mix.exs:

def deps do
  [
    {:nerves_motd, "~> 0.1.0"}
  ]
end

You can also install it using Igniter with mix igniter.install nerves_motd.

For details, see API reference.

License

All original source code in this project is licensed under Apache-2.0.

Additionally, this project follows the REUSE recommendations and labels so that licensing and copyright are clear at the file level.

About

Message of the Day for Nerves devices

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Contributors 7

Languages