fhunleth

fhunleth

Co-author of Nerves

Toolshed - IEx helpers for working with Nerves and more

Toolshed is a set of IEx helpers that I’ve collected or others have given me over the years to make working at the IEx prompt more enjoyable. If you’ve done any development with Nerves, you’ve probably missed some Linux command line utilities. While it’s possible to add them, the experience isn’t the same. This project tries to add Elixir versions and a few other utilities that have come in handy. Here’s a sample:

  1. top - like top, but instead of OS processes, list Elixir processes and their applications
  2. tping - check if a computer is up. (the t is for TCP since it tests connecting to port 80)
  3. tree - list a directory tree like a tree
  4. ifconfig - list network interfaces
  5. exit - exit an ssh connection to the IEx prompt (no more ~.)
  6. grep - print out lines in a file that match a regular expression
  7. nslookup - resolve hostnames using OTP’s resolver

See the hex docs for the rest.

None of these utilities is particularly long or complicated. The original Linux utility or a purpose-built debug tool is far superior to any one of them. For me, having a simple, quick-to-type version available at the IEx prompt has saved me time and made them worth it. I hope it will help you too. Please let me know if you have code snippets that you similarly copy from project to project that may make sense to include here as well.

Most Liked

ConnorRigby

ConnorRigby

Nerves Core Team

And please no one ask what color to paint it

Where Next?

Popular in Libraries Top

mhanberg
I just released the first version of Temple: an HTML DSL for Elixir and Phoenix! You can read this blog post or the docs for more info...
New
Qqwy
TypeCheck: Fast and flexible runtime type-checking for your Elixir projects. Core ideas Type- and function specifications are const...
336 13801 100
New
zoltanszogyenyi
Hey everyone :wave: Excited to join this forum - I am one of the founders and current project maintainers of a popular and open-source U...
New
mcrumm
If you would like to migrate away from node/npm/webpack while still using sass, the dart_sass package provides a installer and runner for...
New
New
riverrun
I’ve just released version 3 of Comeonin, a password hashing library. The following small changes have been made: changes to the NIF c...
New
tmbb
I’ve published the first version of my Makeup library. It’s a syntax highlighter for Elixir in the spirit of Pygments, Currently it highl...
New
Qqwy
Hello everyone, I wrote a small library today called MapDiff. It returns a map listing the (smallest amount of) changes to get from map...
New
anshuman23
Hello all, I have been working on my proposed project called Tensorflex as part of Google Summer of Code 2018.. Tensorflex can be used f...
New
New

Other popular topics Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
William
I would like to know that is there any online source for learning Phoenix Framework for building E-Commerce Store? Any advantage on build...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New

Sub Categories:

We're in Beta

About us Mission Statement