Player FM 앱으로 오프라인으로 전환하세요!
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 에피소드
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 에피소드
모든 에피소드
×플레이어 FM에 오신것을 환영합니다!
플레이어 FM은 웹에서 고품질 팟캐스트를 검색하여 지금 바로 즐길 수 있도록 합니다. 최고의 팟캐스트 앱이며 Android, iPhone 및 웹에서도 작동합니다. 장치 간 구독 동기화를 위해 가입하세요.