···7You can create a custom Typst environment with a selected set of packages from **Typst Universe** using the following code. It is also possible to specify a Typst package with a specific version (e.g., `cetz_0_3_0`). A package without a version number will always refer to its latest version.
89```nix
10-typst.withPackages (p: with p; [
11- polylux_0_4_0
12- cetz_0_3_0
13-])
0014```
1516### Handling Outdated Package Hashes {#typst-handling-outdated-package-hashes}
···18Since **Typst Universe** does not provide a way to fetch a package with a specific hash, the package hashes in `nixpkgs` can sometimes be outdated. To resolve this issue, you can manually override the package source using the following approach:
1920```nix
21-typst.withPackages.override (old: {
22- typstPackages = old.typstPackages.extend (_: previous: {
23- polylux_0_4_0 = previous.polylux_0_4_0.overrideAttrs (oldPolylux: {
24- src = oldPolylux.src.overrideAttrs {
25- outputHash = YourUpToDatePolyluxHash;
26- };
27- });
28- });
29-}) (p: with p; [
30- polylux_0_4_0
31- cetz_0_3_0
32-])
00000033```
3435## Custom Packages {#typst-custom-packages}
···39Here's how to define a custom Typst package:
4041```nix
42-{ buildTypstPackage, typstPackages, fetchzip }:
0004344buildTypstPackage (finalAttrs: {
45 pname = "my-typst-package";
46 version = "0.0.1";
47- src = fetchzip { ... };
48 typstDeps = with typstPackages; [ cetz_0_3_0 ];
49})
50```
···7You can create a custom Typst environment with a selected set of packages from **Typst Universe** using the following code. It is also possible to specify a Typst package with a specific version (e.g., `cetz_0_3_0`). A package without a version number will always refer to its latest version.
89```nix
10+typst.withPackages (
11+ p: with p; [
12+ polylux_0_4_0
13+ cetz_0_3_0
14+ ]
15+)
16```
1718### Handling Outdated Package Hashes {#typst-handling-outdated-package-hashes}
···20Since **Typst Universe** does not provide a way to fetch a package with a specific hash, the package hashes in `nixpkgs` can sometimes be outdated. To resolve this issue, you can manually override the package source using the following approach:
2122```nix
23+typst.withPackages.override
24+ (old: {
25+ typstPackages = old.typstPackages.extend (
26+ _: previous: {
27+ polylux_0_4_0 = previous.polylux_0_4_0.overrideAttrs (oldPolylux: {
28+ src = oldPolylux.src.overrideAttrs {
29+ outputHash = YourUpToDatePolyluxHash;
30+ };
31+ });
32+ }
33+ );
34+ })
35+ (
36+ p: with p; [
37+ polylux_0_4_0
38+ cetz_0_3_0
39+ ]
40+ )
41```
4243## Custom Packages {#typst-custom-packages}
···47Here's how to define a custom Typst package:
4849```nix
50+{
51+ buildTypstPackage,
52+ typstPackages,
53+}:
5455buildTypstPackage (finalAttrs: {
56 pname = "my-typst-package";
57 version = "0.0.1";
58+ src = ./.;
59 typstDeps = with typstPackages; [ cetz_0_3_0 ];
60})
61```
···1/*
2 Technical details
34- `make-disk-image` has a bit of magic to minimize the amount of work to do in a virtual machine.
56 It relies on the [LKL (Linux Kernel Library) project](https://github.com/lkl/linux) which provides Linux kernel as userspace library.
7···447 mkdir -p $root
448449 # Copy arbitrary other files into the image
450- # Semi-shamelessly copied from make-etc.sh. I (@copumpkin) shall factor this stuff out as part of
451- # https://github.com/NixOS/nixpkgs/issues/23052.
452 set -f
453 sources_=(${lib.concatStringsSep " " sources})
454 targets_=(${lib.concatStringsSep " " targets})
···1/*
2 Technical details
34+ `make-disk-image` has a bit of magic to minimize the amount of work to do in a virtual machine. It also might arguably have too much, or at least too specific magic, so please consider to work towards the effort of unifying our image builders, as outlined in https://github.com/NixOS/nixpkgs/issues/324817 before adding more.
56 It relies on the [LKL (Linux Kernel Library) project](https://github.com/lkl/linux) which provides Linux kernel as userspace library.
7···447 mkdir -p $root
448449 # Copy arbitrary other files into the image
450+ # Semi-shamelessly copied from make-etc.sh.
0451 set -f
452 sources_=(${lib.concatStringsSep " " sources})
453 targets_=(${lib.concatStringsSep " " targets})
···116 platforms = platforms.linux; # Darwin probably works too but I haven't tested it
117 license = licenses.gpl2;
118 maintainers = with maintainers; [
119- copumpkin
120 raitobezarius
121 ];
122 };
···116 platforms = platforms.linux; # Darwin probably works too but I haven't tested it
117 license = licenses.gpl2;
118 maintainers = with maintainers; [
0119 raitobezarius
120 ];
121 };
···6 catch2,
7 cmake,
8 ninja,
9- cudaPackages_11_8,
10 cudaPackages_12,
11 boost,
12 fmt_9,
···24 # The runtime closure, thankfully, is quite small as it does not
25 # include the CUDA libraries.
26 cudaPackageSets = [
27- cudaPackages_11_8
28 cudaPackages_12
29 ];
30
···6 catch2,
7 cmake,
8 ninja,
9+ cudaPackages_11,
10 cudaPackages_12,
11 boost,
12 fmt_9,
···24 # The runtime closure, thankfully, is quite small as it does not
25 # include the CUDA libraries.
26 cudaPackageSets = [
27+ cudaPackages_11
28 cudaPackages_12
29 ];
30
+20-21
pkgs/by-name/de/deno/package.nix
···5 fetchFromGitHub,
6 rustPlatform,
7 cmake,
08 protobuf,
9 installShellFiles,
10 librusty_v8 ? callPackage ./librusty_v8.nix {
···18let
19 canExecute = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
20in
21-rustPlatform.buildRustPackage rec {
22 pname = "deno";
23- version = "2.2.8";
2425 src = fetchFromGitHub {
26 owner = "denoland";
27 repo = "deno";
28- tag = "v${version}";
29- hash = "sha256-pGhqfQR+42XUY0v99fvSyLQPlvzCWntq4qS9vyuJEpY=";
30 };
3132 useFetchCargoVendor = true;
33- cargoHash = "sha256-FJ3wPkL1Pgw6S66n5hyQfUZWTVXs4oZ0bJJaN22OxoY=";
3435 postPatch = ''
36 # Use patched nixpkgs libffi in order to fix https://github.com/libffi/libffi/pull/857
37- substituteInPlace Cargo.toml --replace-fail "libffi = \"=3.2.0\"" "libffi = { version = \"3.2.0\", features = [\"system\"] }"
38 '';
3940 # uses zlib-ng but can't dynamically link yet
41 # https://github.com/rust-lang/libz-sys/issues/158
42- nativeBuildInputs =
43- [
44- rustPlatform.bindgenHook
45- # required by libz-ng-sys crate
46- cmake
47- # required by deno_kv crate
48- protobuf
49- installShellFiles
50- ]
51- ++ lib.optionals stdenv.hostPlatform.isDarwin [
52- lld
53- ];
5455 configureFlags = lib.optionals stdenv.cc.isClang [
56 # This never worked with clang, but became a hard error recently: https://github.com/llvm/llvm-project/commit/3d5b610c864c8f5980eaa16c22b71ff1cf462fae
···89 installCheckPhase = lib.optionalString canExecute ''
90 runHook preInstallCheck
91 $out/bin/deno --help
92- $out/bin/deno --version | grep "deno ${version}"
93 runHook postInstallCheck
94 '';
95···9899 meta = with lib; {
100 homepage = "https://deno.land/";
101- changelog = "https://github.com/denoland/deno/releases/tag/v${version}";
102 description = "Secure runtime for JavaScript and TypeScript";
103 longDescription = ''
104 Deno aims to be a productive and secure scripting environment for the modern programmer.
···122 "aarch64-darwin"
123 ];
124 };
125-}
···5 fetchFromGitHub,
6 rustPlatform,
7 cmake,
8+ yq,
9 protobuf,
10 installShellFiles,
11 librusty_v8 ? callPackage ./librusty_v8.nix {
···19let
20 canExecute = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
21in
22+rustPlatform.buildRustPackage (finalAttrs: {
23 pname = "deno";
24+ version = "2.2.10";
2526 src = fetchFromGitHub {
27 owner = "denoland";
28 repo = "deno";
29+ tag = "v${finalAttrs.version}";
30+ hash = "sha256-6Tuoxvatfm3edkUiMDGmCZdl/jLKr7WH8WCXR14jKT4=";
31 };
3233 useFetchCargoVendor = true;
34+ cargoHash = "sha256-wH+y93loozkgCZZeCR1EVNGBUPY/+OYwZRFeAIcVNTg=";
3536 postPatch = ''
37 # Use patched nixpkgs libffi in order to fix https://github.com/libffi/libffi/pull/857
38+ tomlq -ti '.workspace.dependencies.libffi = { "version": .workspace.dependencies.libffi, "features": ["system"] }' Cargo.toml
39 '';
4041 # uses zlib-ng but can't dynamically link yet
42 # https://github.com/rust-lang/libz-sys/issues/158
43+ nativeBuildInputs = [
44+ rustPlatform.bindgenHook
45+ # for tomlq to adjust Cargo.toml
46+ yq
47+ # required by libz-ng-sys crate
48+ cmake
49+ # required by deno_kv crate
50+ protobuf
51+ installShellFiles
52+ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ lld ];
005354 configureFlags = lib.optionals stdenv.cc.isClang [
55 # This never worked with clang, but became a hard error recently: https://github.com/llvm/llvm-project/commit/3d5b610c864c8f5980eaa16c22b71ff1cf462fae
···88 installCheckPhase = lib.optionalString canExecute ''
89 runHook preInstallCheck
90 $out/bin/deno --help
91+ $out/bin/deno --version | grep "deno ${finalAttrs.version}"
92 runHook postInstallCheck
93 '';
94···9798 meta = with lib; {
99 homepage = "https://deno.land/";
100+ changelog = "https://github.com/denoland/deno/releases/tag/v${finalAttrs.version}";
101 description = "Secure runtime for JavaScript and TypeScript";
102 longDescription = ''
103 Deno aims to be a productive and secure scripting environment for the modern programmer.
···121 "aarch64-darwin"
122 ];
123 };
124+})
···17 # include version in the name so we invalidate the FOD
18 name = "${pname}-${version}";
19 src = sources.${pname};
20- hash = "sha256-5TMHytHLIjdzY6O1+V9do/JCfxFfBkYD+bd+FNLlrMk=";
21 };
2223 extraNativeBuildInputs = [
···17 # include version in the name so we invalidate the FOD
18 name = "${pname}-${version}";
19 src = sources.${pname};
20+ hash = "sha256-FgzmWw8FZb+DNSf2n6H14Rq07+x1LzG9hX4hFetuqDw=";
21 };
2223 extraNativeBuildInputs = [
···001--- a/samba/filepropertiesplugin/qml/MissingSambaPage.qml
2+++ b/samba/filepropertiesplugin/qml/MissingSambaPage.qml
3-@@ -16,7 +16,7 @@ Item {
4-5 icon.name: "dialog-error"
67-- text: xi18nc("@info", "The <application>Samba</application> file sharing service must be installed before folders can be shared.")
8-- explanation: i18n("Because this distro does not include PackageKit, we cannot show you a nice \"Install it\" button, and you will have to use your package manager to install the <command>samba</command> server package manually.")
9-+ text: xi18nc("@info", "File sharing service unavailable")
10+ explanation: i18n("Please enable the `services.samba.enable` and `services.samba.usershares.enable` options in your NixOS configuration.")
11- }
12- }
0
···1+diff --git a/samba/filepropertiesplugin/qml/MissingSambaPage.qml b/samba/filepropertiesplugin/qml/MissingSambaPage.qml
2+index 4419b25..f16e70b 100644
3--- a/samba/filepropertiesplugin/qml/MissingSambaPage.qml
4+++ b/samba/filepropertiesplugin/qml/MissingSambaPage.qml
5+@@ -17,7 +17,7 @@ Item {
06 icon.name: "dialog-error"
78+ text: xi18nc("@info", "File sharing service unavailable")
9+- explanation: i18n("Please ensure the Samba service is enabled and running.\nIf you haven't disabled it manually, consider reporting a bug to your distribution.")
010+ explanation: i18n("Please enable the `services.samba.enable` and `services.samba.usershares.enable` options in your NixOS configuration.")
11+12+ helpfulAction: Kirigami.Action {
13+ icon.name: "mail-message-new"
···392 cargo-inspect = throw "'cargo-inspect' has been removed due to lack of upstream maintenance. Upstream recommends cargo-expand."; # Added 2025-01-26
393 cargo-web = throw "'cargo-web' has been removed due to lack of upstream maintenance"; # Added 2025-01-26
394 cawbird = throw "cawbird has been abandoned upstream and is broken anyways due to Twitter closing its API";
0395 certmgr-selfsigned = certmgr; # Added 2023-11-30
396 cgal_4 = throw "cgal_4 has been removed as it is obsolete use cgal instead"; # Added 2024-12-30
397 cgal_5 = cgal; # Added 2024-12-30
···851 isl_0_17 = throw "isl_0_17 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-11-20
852 iso-flags-png-320x420 = lib.warnOnInstantiate "iso-flags-png-320x420 has been renamed to iso-flags-png-320x240" iso-flags-png-320x240; # Added 2024-07-17
853 itktcl = tclPackages.itktcl; # Added 2024-10-02
0854 ix = throw "ix has been removed from Nixpkgs, as the ix.io pastebin has been offline since Dec. 2023"; # Added 2025-04-11
855856 ### J ###
···392 cargo-inspect = throw "'cargo-inspect' has been removed due to lack of upstream maintenance. Upstream recommends cargo-expand."; # Added 2025-01-26
393 cargo-web = throw "'cargo-web' has been removed due to lack of upstream maintenance"; # Added 2025-01-26
394 cawbird = throw "cawbird has been abandoned upstream and is broken anyways due to Twitter closing its API";
395+ centerim = throw "centerim has been removed due to upstream disappearing"; # Added 2025-04-18
396 certmgr-selfsigned = certmgr; # Added 2023-11-30
397 cgal_4 = throw "cgal_4 has been removed as it is obsolete use cgal instead"; # Added 2024-12-30
398 cgal_5 = cgal; # Added 2024-12-30
···852 isl_0_17 = throw "isl_0_17 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-11-20
853 iso-flags-png-320x420 = lib.warnOnInstantiate "iso-flags-png-320x420 has been renamed to iso-flags-png-320x240" iso-flags-png-320x240; # Added 2024-07-17
854 itktcl = tclPackages.itktcl; # Added 2024-10-02
855+ iv = throw "iv has been removed as it was no longer required for neuron and broken"; # Added 2025-04-18
856 ix = throw "ix has been removed from Nixpkgs, as the ix.io pastebin has been offline since Dec. 2023"; # Added 2025-04-11
857858 ### J ###