diff --git a/doc/languages-frameworks/typst.section.md b/doc/languages-frameworks/typst.section.md index 5d95f44ae7ad..711b6ce193bd 100644 --- a/doc/languages-frameworks/typst.section.md +++ b/doc/languages-frameworks/typst.section.md @@ -22,7 +22,7 @@ Since **Typst Universe** does not provide a way to fetch a package with a specif ```nix typst.withPackages.override (old: { - typstPackages = old.typstPackages.extend ( + typstPackages = old.typstPackages.overrideScope ( _: previous: { polylux_0_4_0 = previous.polylux_0_4_0.overrideAttrs (oldPolylux: { src = oldPolylux.src.overrideAttrs { outputHash = YourUpToDatePolyluxHash; }; diff --git a/pkgs/by-name/ty/typst/typst-packages.nix b/pkgs/by-name/ty/typst/typst-packages.nix index 6a460aafb80f..382aed587283 100644 --- a/pkgs/by-name/ty/typst/typst-packages.nix +++ b/pkgs/by-name/ty/typst/typst-packages.nix @@ -1,13 +1,14 @@ { lib, callPackage, + newScope, }: let toPackageName = name: version: "${name}_${lib.replaceStrings [ "." ] [ "_" ] version}"; in -lib.makeExtensible ( - final: +lib.makeScope newScope ( + self: lib.recurseIntoAttrs ( lib.foldlAttrs ( packageSet: pname: versionSet: @@ -16,7 +17,7 @@ lib.makeExtensible ( subPackageSet: version: packageSpec: subPackageSet // { - ${toPackageName pname version} = callPackage ( + ${toPackageName pname version} = self.callPackage ( { lib, buildTypstPackage, @@ -32,7 +33,7 @@ lib.makeExtensible ( }; typstDeps = builtins.filter (x: x != null) ( - lib.map (d: (lib.attrsets.attrByPath [ d ] null final)) packageSpec.typstDeps + lib.map (d: (lib.attrsets.attrByPath [ d ] null self)) packageSpec.typstDeps ); meta = { @@ -46,7 +47,7 @@ lib.makeExtensible ( } ) { } versionSet) // { - ${pname} = final.${toPackageName pname (lib.last (lib.attrNames versionSet))}; + ${pname} = self.${toPackageName pname (lib.last (lib.attrNames versionSet))}; } ) { } (lib.importTOML ./typst-packages-from-universe.toml) )