I tried it out before replying—copy/pasted from my terminal:
iex(10)> [%{color: "yellow"}, %{color: "red"}] |> Enum.sort_by(&{!&1.color})
[%{color: "yellow"}, %{color: "red"}]
iex(12)> [%{color: "yellow", name: "potato"}, %{color: "red", name: "apple"}] |> Enum.sort_by(&{!&1.color, !&1.name})
[%{color: "yellow", name: "potato"}, %{color: "red", name: "apple"}]


















