.envrc | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
main.ex | ||
mix.exs | ||
mix.lock | ||
readme.md |
Single-File Elixir (sfe
)
I love Elixir, but for some reason I can't stand it's default project structure and willingness to spread a hundred things across a hundred files.
I was inspired by this:
https://github.com/wojtekmach/mix_install_examples/blob/main/phoenix_live_view.exs
So I've put this together in a Nix Flake to serve as a decent launch point for quick-and-dirty Elixir applications.
mix.exs
is necessary for locking dependencies as used by Nix's mixFodDeps
and is used for nice things like code reloading by Phoenix, so not quite as
"single file" as my inspiration.
So here ya go!
elixir main.ex
Or if you want "hot reloading"
watchexec --filter main.ex --restart 'elixir main.ex'
To Do
- Look into
:counters
to implement pubsub stuff