Find a file
2024-02-20 22:15:26 -06:00
.envrc Initial commit 2024-02-20 20:37:55 -06:00
.gitignore Initial commit 2024-02-20 20:37:55 -06:00
flake.lock Initial commit 2024-02-20 20:37:55 -06:00
flake.nix The thing works! 2024-02-20 22:06:00 -06:00
main.ex mix phx.server working 2024-02-20 22:15:26 -06:00
mix.exs The thing works! 2024-02-20 22:06:00 -06:00
mix.lock The thing works! 2024-02-20 22:06:00 -06:00
readme.md mix phx.server working 2024-02-20 22:15:26 -06:00

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!

mix phx.server

Or if you want "hot reloading"

watchexec --filter main.ex --restart 'elixir main.ex'

To Do

  • Look into :counters to implement pubsub stuff