···
···
overrideBundleAttrs ? { }, # An attrSet/function to override the `k3sBundle` derivation.
overrideCniPluginsAttrs ? { }, # An attrSet/function to override the `k3sCNIPlugins` derivation.
···
# k3s is a kinda weird derivation. One of the main points of k3s is the
···
331
-
buildGoModule rec {
331
+
buildGoModule (finalAttrs: {
pos = builtins.unsafeGetAttrPos "k3sVersion" attrs;
···
# Nix prefers dynamically linked binaries over static binary.
substituteInPlace scripts/package-cli \
348
-
--replace '"$LDFLAGS $STATIC" -o' \
350
-
--replace "STATIC=\"-extldflags \'-static\'\"" \
348
+
--replace-fail '"$LDFLAGS $STATIC" -o' \
# Upstream codegen fails with trimpath set. Removes "trimpath" for 'go generate':
substituteInPlace scripts/package-cli \
356
-
--replace '"''${GO}" generate' \
354
+
--replace-fail '"''${GO}" generate' \
GOOS="${pkgsBuildBuild.go.GOOS}" \
GOARCH="${pkgsBuildBuild.go.GOARCH}" \
···
···
392
-
buildInputs = k3sRuntimeDeps;
390
+
buildInputs = finalAttrs.k3sRuntimeDeps;
···
# wildcard to match the arm64 build too
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
wrapProgram $out/bin/k3s \
442
-
--prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
440
+
--prefix PATH : ${lib.makeBinPath finalAttrs.k3sRuntimeDeps} \
--prefix PATH : "$out/bin"
ln -s $out/bin/k3s $out/bin/kubectl
ln -s $out/bin/k3s $out/bin/crictl
ln -s $out/bin/k3s $out/bin/ctr
install -m 0755 ${k3sKillallSh} -D $out/bin/k3s-killall.sh
wrapProgram $out/bin/k3s-killall.sh \
449
-
--prefix PATH : ${lib.makeBinPath (k3sRuntimeDeps ++ k3sKillallDeps)}
447
+
--prefix PATH : ${lib.makeBinPath (finalAttrs.k3sRuntimeDeps ++ finalAttrs.k3sKillallDeps)}
454
-
installCheckPhase = ''
455
-
runHook preInstallCheck
456
-
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
457
-
runHook postInstallCheck
452
+
nativeInstallCheckInputs = [ versionCheckHook ];
453
+
versionCheckProgramArg = "--version";
···
470
-
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
467
+
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
469
+
lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s;
472
-
lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s;
473
-
tests = passthru.mkTests k3sVersion;
471
+
mkTests k3sVersion;
updateScript = updateScript;
imagesList = throw "k3s.imagesList was removed";
airgapImages = throw "k3s.airgapImages was renamed to k3s.airgap-images";
···
// (lib.mapAttrs (_: value: fetchurl value) imagesVersions);