How to program PRU micros on BBB?

Hi. Can someone explain how the PRU’s are programmed on the BeagleBone Black when using elixir/nerves? I’m just wondering if it’s done using the underlying Linux OS or from within nerves / elixir. Thanks for your help.