DiscoverElixir WizardsNix for Elixir Apps with Norbert (NobbZ) Melzer
Nix for Elixir Apps with Norbert (NobbZ) Melzer

Nix for Elixir Apps with Norbert (NobbZ) Melzer

Update: 2025-07-17
Share

Description

In this episode of Elixir Wizards, Dan Ivovich and Charles Suggs sit down with Norbert “NobbZ” Melzer to discuss how Nix enables reproducible builds, consistent development environments, and reliable deployments for Elixir projects.



Norbert shares his journey from Ruby to Elixir, contrasts Nix with NixOS, and walks us through flakes, nix-shell workflows, sandboxed builds, and rollback capabilities. Along the way, we cover real-world tips for managing Hex authentication, integrating Nix into CI/CD, wrapping Mix releases in Docker, and avoiding common pitfalls, such as flake performance traps.



Whether you’re spinning up your first dev shell or rolling out a production release on NixOS, you’ll come away with a clear, gradual adoption path and pointers to the community mentors and resources that can help you succeed.



Key topics discussed in this episode:




  • Reproducible, sandboxed builds vs. traditional package managers

  • Nix flakes for locked dependency graphs and version pinning

  • nix-shell: creating consistent development environments across teams

  • Rollback and immutable deployment strategies with Nix/NixOS

  • Integrating Nix with the Elixir toolchain: Hex, Mix, and CI/CD pipelines

  • Flakes vs. standard shells: when and how to transition

  • Handling private Hex repositories and authentication in Nix

  • Cross-platform support (macOS/Darwin, Linux variants)

  • Channels, overlays, and overrides for customizing builds

  • Dockerizing Elixir releases using Nix-based images

  • Home Manager for personal environment configuration

  • Security patching workflows in a Nix-managed infrastructure

  • Common pitfalls: flake performance, sandbox workarounds, and symlink behavior

  • Community resources and the importance of human mentorship



Links mentioned:



https://jobrad-loop.com/

https://nixos.org/

https://nix.dev/

https://nix.dev/manual/nix/2.18/command-ref/nix-shell

https://github.com/nix-darwin/nix-darwin

https://asdf-vm.com/

https://go.dev/

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/introduction-to-rpm_packaging-and-distributing-software

Nix Flake templates for Elixir https://github.com/jurraca/elixir-templates

https://www.docker.com/

https://www.sudo.ws/

https://ubuntu.com/

https://archlinux.org/

Nobbz’s blog https://blog.nobbz.dev/blog/

https://ayats.org/blog/nix-workflow

@nobbz.dev on BlueSky

@NobbZ1981 on Twitter

https://www.linkedin.com/in/norbert-melzer/

https://youtu.be/HbtbdLolHeM?si=6M7fulTQZmuWGGCM (talk on CodeBEAM)

Comments 
In Channel
loading
00:00
00:00
1.0x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Nix for Elixir Apps with Norbert (NobbZ) Melzer

Nix for Elixir Apps with Norbert (NobbZ) Melzer

SmartLogic LLC