Gehen Sie mit der App Player FM offline!
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)
203 Episoden
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)
203 Episoden
Alle Folgen
×Willkommen auf Player FM!
Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.