nerves_motd
prints a "message of the
day" on Nerves devices.
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
)
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"}]
]
Install by adding :nerves_motd
to your list of dependencies in mix.exs
:
def deps do
[
{:nerves_motd, "~> 0.1.0"}
]
end
For details, see API reference.
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.