/nix_elixir

I'm tired of my build environments breaking (usually it's my own fault though)

MIT LicenseMIT

Going Full Functional: Using Nix to build Erlang and Elixir Projects

Eventually this will turn into a blog post/guide/tutorial of intermediate "difficulty".

Goals

  1. Create most basic Elixir/Phoenix/Liveview app
  2. Set up Nix boilerplate on macOS (arm64)
  3. Use Nix (devenv/devbox?) to build container
  4. Change Erlang/Elixir versions based on current project
  5. Editor and language server setup
  6. Set up GitHub CI
  7. Deploy Nix to Fly
  8. Document troubleshooting, uninstalling, reinstalling

Questions / TODO

Outline/Snippets

The term "Nix" can mean few things depending on the context:

Commands: nix shell “installs” requested packages into an ephemeral shell environment. nix develop is sort of like nix build --interactive or nix build --debug; it creates a build environment for a particular Nix package and instead of automatically running build phases, it drops you into a shell in the build envionrment so that you can debug the build itself. nix develop also allows you to set up other aspects of the build environment, such as variables. (source: Nix forum)

Link Dump

Docs

Experimental Things

Example Configs

Text Resources

Video Resources

Audio Resources

Services Using Nix