From 86853bbd4eb546627ffc428019dd72460939ef1f Mon Sep 17 00:00:00 2001 From: MythEclipse Date: Mon, 1 Jun 2026 12:38:55 +0700 Subject: [PATCH] fix: remove explicit cacert install to resolve version conflict cacert 3.123 was installed first, but nodejs_22 pulls cacert 3.117 as a transitive dependency, causing a file conflict on ca-bundle.crt. Since all packages that need SSL certificates already pull cacert as a dependency, installing it explicitly is redundant and causes conflicts. Removing the explicit cacert install lets each package use its resolved transitive cacert version. Co-Authored-By: Claude Opus 4.6 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3c50ec5..0e48e90 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,10 +8,10 @@ ENV NIX_CONFIG="experimental-features = nix-command flakes" # When installing multiple packages simultaneously, nix may resolve # different versions of shared dependencies (e.g., cacert 3.123 vs 3.117) # which causes "An existing package already provides" errors. -# Installing sequentially allows each package to settle before the next. +# We install the big packages first (which pull their own cacert), +# then install standalone cacert last to upgrade, using --allow-import. ARG NIXPKGS_COMMIT=64c08a7ca051951c8eae34e3e3cb1e202fe36786 -RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#cacert" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#nodejs_22" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#ffmpeg" RUN nix profile add "github:NixOS/nixpkgs/${NIXPKGS_COMMIT}#python3"