Go offline with the Player FM app!
Nix for Elixir Apps with Norbert (NobbZ) Melzer
Manage episode 494940577 series 2493466
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)
198 episodes
Manage episode 494940577 series 2493466
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)
198 episodes
All episodes
×Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.