···1617## New modules {#reviewing-contributions-new-modules}
1819-This section has been moved to [nixos/README.md](https://github.com/NixOS/nixpkgs/blob/master/nixos/README.md).
2021## Individual maintainer list {#reviewing-contributions-individual-maintainer-list}
22
···1617## New modules {#reviewing-contributions-new-modules}
1819+This section has been moved to [nixos/README.md](https://github.com/NixOS/nixpkgs/blob/master/nixos/README.md#new-modules).
2021## Individual maintainer list {#reviewing-contributions-individual-maintainer-list}
22
···1+2+# Writing and Reviewing Modular Services
3+4+## Status
5+6+Modular Services are, as of writing, a new feature with support in NixOS.
7+It is in development, and be considerate of the fact that the intermediate outcome of RFC 163 is that we should try a module-based approach to portable services; it is not yet a widely agreed upon solution.
8+9+## Relation to NixOS Modules
10+11+- A modular service is not a replacement for a NixOS module, but may be in the future.
12+- Using a modular service to implement a NixOS module is an expected use case, but exposes the NixOS module to a degree of uncertainty that is not acceptable for widely used modules yet.
13+14+## Maintainership
15+16+If you contribute a modular service, you must mark yourself as maintainer of the modular service.
17+The maintainership of a modular service does not need to be the same as the maintainership of a NixOS module.
18+If you are not a maintainer of the NixOS module, you should offer to join the NixOS module's `meta.maintainers` team, so that you are included in reviews and discussions, most of which also affect the modular service.
19+The NixOS module maintainers have no obligation towards the modular service, except perhaps to notify you if they notice that the modular service breaks.
20+21+## Minimum Standard
22+23+Modular services **MUST** be accompanied by a **NixOS VM test** that exercises the modular service.
24+25+Modular services **MUST** have a `meta.maintainers` module attribute that lists the maintainers of the modular service.
26+27+## Reviewing Modular Services
28+29+When reviewing a modular service, you should check the following. Details and rationale are provided below.
30+31+```markdown
32+- [ ] Has a NixOS VM test
33+- [ ] Has a `meta.maintainers` attribute
34+- [ ] Systemd-specific definitions are behind `optionalAttrs (options ? systemd)` to promote portability.
35+- [ ] `_class = "service"`
36+- [ ] Modular services provided through `passthru.services` must override the default of the package option using `finalAttrs.finalPackage`
37+- [ ] Is the modular services infrastructure sufficient for this service? If one or more features are not covered, comment in https://github.com/NixOS/nixpkgs/issues/428084
38+```
39+40+## Details
41+42+### NixOS VM test
43+44+See the initial [Modular Services PR](https://github.com/NixOS/nixpkgs/pull/372170) for an [example](https://github.com/NixOS/nixpkgs/pull/372170/files#diff-e7fe16489cf3cd08ecc22b2c7896039d407a329b75691c046c95447423b3153f) of a NixOS VM test.
45+TBD: describe best practices here.
46+47+### `_class = "service"`
48+49+A [`_class`](https://nixos.org/manual/nixpkgs/unstable/#module-system-lib-evalModules-param-class) declaration ensures a clear error when the module is accidentally imported into a configuration that isn't a modular service, such as a NixOS configuration.
50+51+Provide it as the first attribute in the module:
52+53+```nix
54+{ lib, config, ... }:
55+{
56+ _class = "service";
57+58+ options = {
59+ # ...
60+ };
61+ config = {
62+ # ...
63+ };
64+}
65+```
66+67+### Overriding the package default
68+69+When a modular service is provided through `passthru.services`, it must override the default of the package option using [`finalAttrs.finalPackage`](https://nixos.org/manual/nixpkgs/unstable/#mkderivation-recursive-attributes).
70+If this is not possible, or if the module is not represented by a single package, consider exposing the modular service directly by file path only.
71+72+Otherwise, since some packages are *defined* by an override, the modular service would launch a wrong package, if it builds at all.
73+74+Example:
75+76+`package.nix`
77+```nix
78+{
79+ stdenv,
80+ nixosTests,
81+# ...
82+}:
83+stdenv.mkDerivation (finalAttrs: {
84+ pname = "example";
85+ # ...
86+87+ passthru = {
88+ services = {
89+ default = {
90+ imports = [ ./service.nix ];
91+ example.package = finalAttrs.finalPackage;
92+ # ...
93+ };
94+ };
95+ };
96+})
97+```
···116117##### Comments
118```
119+120+See also [./README-modular-services.md](./README-modular-services.md).
+4
nixos/doc/manual/development/modular-services.md
···8384<!-- TODO example of a single-instance service -->
85000086## Portable Service Options {#modular-service-options-portable}
8788```{=include=} options
···8384<!-- TODO example of a single-instance service -->
8586+## Writing and Reviewing a Modular Service {#modular-service-review}
87+88+Refer to the contributor documentation in [`nixos/README-modular-services.md`](https://github.com/NixOS/nixpkgs/blob/master/nixos/README-modular-services.md).
89+90## Portable Service Options {#modular-service-options-portable}
9192```{=include=} options
···44 '';
45 };
46 };
47+ # TODO: use https://github.com/NixOS/nixpkgs/pull/431450
48+ meta = lib.mkOption {
49+ description = "The maintainers of this module. This is currently a placeholder option whose value may not evaluate to anything useful until https://github.com/NixOS/nixpkgs/pull/431450 is available and used here.";
50+ };
51 };
52}
···212 fi
213214 # Set up automatic kernel module loading.
215- export MODULE_DIR=${kernel}/lib/modules/
216 ${coreutils}/bin/cat <<EOF > /run/modprobe
217 #! ${bash}/bin/sh
218 export MODULE_DIR=$MODULE_DIR
···212 fi
213214 # Set up automatic kernel module loading.
215+ export MODULE_DIR=${lib.getOutput "modules" kernel}/lib/modules/
216 ${coreutils}/bin/cat <<EOF > /run/modprobe
217 #! ${bash}/bin/sh
218 export MODULE_DIR=$MODULE_DIR
+11-5
pkgs/by-name/ac/actual-server/package.nix
···2 lib,
3 stdenv,
4 fetchFromGitHub,
05 makeWrapper,
6 nodejs_22,
7 python3,
···10}:
11let
12 yarn-berry = yarn-berry_4;
13- version = "25.7.1";
14 src = fetchFromGitHub {
15 name = "actualbudget-actual-source";
16 owner = "actualbudget";
17 repo = "actual";
18 tag = "v${version}";
19- hash = "sha256-BXF9VL2HTNOOsX+l6G+5CHRi+ycGJTizky8cypijR7M=";
20 };
21 translations = fetchFromGitHub {
22 name = "actualbudget-translations-source";
···24 repo = "translations";
25 # Note to updaters: this repo is not tagged, so just update this to the Git
26 # tip at the time the update is performed.
27- rev = "319e1b8f099b77c2ff939c8728182a0a3afdec49";
28- hash = "sha256-63Uc/2HTYOm2hQEr7grhNTLWtage6oyl4J/a6fGonVI=";
29 };
3031in
···6061 # Allow `remove-untranslated-languages` to do its job.
62 chmod -R u+w ./packages/desktop-client/locale
0000063 '';
6465 buildPhase = ''
···76 missingHashes = ./missing-hashes.json;
77 offlineCache = yarn-berry.fetchYarnBerryDeps {
78 inherit (finalAttrs) src missingHashes;
79- hash = "sha256-SPLosaI2r8PshhqG+dbJktVmjcaDX1GmIXBO0bF+mY4=";
80 };
8182 pname = "actual-server";
···2 lib,
3 stdenv,
4 fetchFromGitHub,
5+ jq,
6 makeWrapper,
7 nodejs_22,
8 python3,
···11}:
12let
13 yarn-berry = yarn-berry_4;
14+ version = "25.8.0";
15 src = fetchFromGitHub {
16 name = "actualbudget-actual-source";
17 owner = "actualbudget";
18 repo = "actual";
19 tag = "v${version}";
20+ hash = "sha256-9Ov9AR+WEKtjiX+C2lvjxerc295DWSRHpTb4Lu1stoo=";
21 };
22 translations = fetchFromGitHub {
23 name = "actualbudget-translations-source";
···25 repo = "translations";
26 # Note to updaters: this repo is not tagged, so just update this to the Git
27 # tip at the time the update is performed.
28+ rev = "c1c2f298013ca3223e6cd6a4a4720bca5e8b8274";
29+ hash = "sha256-3dtdymdKfEzUIzButA3L88GrehO4EjCrd/gq0Y5bcuE=";
30 };
3132in
···6162 # Allow `remove-untranslated-languages` to do its job.
63 chmod -R u+w ./packages/desktop-client/locale
64+65+ # Disable the postinstall script for `protoc-gen-js` because it tries to
66+ # use network in buildPhase. It's just used as a dev tool and the generated
67+ # protobuf code is committed in the repository.
68+ cat <<< $(${lib.getExe jq} '.dependenciesMeta."protoc-gen-js".built = false' ./package.json) > ./package.json
69 '';
7071 buildPhase = ''
···82 missingHashes = ./missing-hashes.json;
83 offlineCache = yarn-berry.fetchYarnBerryDeps {
84 inherit (finalAttrs) src missingHashes;
85+ hash = "sha256-kbQjtZivn9ni6PLk04kAJTzhhGgubhnxgHqMnGwEXZk=";
86 };
8788 pname = "actual-server";
+31-15
pkgs/by-name/an/ante/package.nix
···1{
02 fetchFromGitHub,
3 lib,
04 libffi,
5 libxml2,
6- llvmPackages_16,
7 ncurses,
08 rustPlatform,
9}:
1011rustPlatform.buildRustPackage {
12 pname = "ante";
13- version = "unstable-2023-12-18";
14 src = fetchFromGitHub {
15 owner = "jfecher";
16 repo = "ante";
17- rev = "e38231ffa51b84a2ca53b4b0439d1ca5e0dea32a";
18- hash = "sha256-UKEoOm+Jc0YUwO74Tn038MLeX/c3d2z8I0cTBVfX61U=";
019 };
2021- cargoHash = "sha256-uOOSxRoc59XzJT5oVO2NOYC0BwrNq4X6Jd/gQz0ZBp8=";
2223- /*
24- https://crates.io/crates/llvm-sys#llvm-compatibility
25- llvm-sys requires a specific version of llvmPackages,
26- that is not the same as the one included by default with rustPlatform.
27- */
28- nativeBuildInputs = [ llvmPackages_16.llvm ];
29 buildInputs = [
030 libffi
31 libxml2
32 ncurses
33 ];
3435 postPatch = ''
36- substituteInPlace tests/golden_tests.rs --replace \
37 'target/debug' "target/$(rustc -vV | sed -n 's|host: ||p')/release"
00038 '';
39 preBuild =
40 let
41- major = lib.versions.major llvmPackages_16.llvm.version;
42- minor = lib.versions.minor llvmPackages_16.llvm.version;
43 llvm-sys-ver = "${major}${builtins.substring 0 1 minor}";
44 in
45 ''
46 # On some architectures llvm-sys is not using the package listed inside nativeBuildInputs
47- export LLVM_SYS_${llvm-sys-ver}_PREFIX=${llvmPackages_16.llvm.dev}
48 export ANTE_STDLIB_DIR=$out/lib
49 mkdir -p $ANTE_STDLIB_DIR
50 cp -r $src/stdlib/* $ANTE_STDLIB_DIR
51 '';
000000000005253 meta = with lib; {
54 homepage = "https://antelang.org/";
···1{
2+ stdenv,
3 fetchFromGitHub,
4 lib,
5+ zlib,
6 libffi,
7 libxml2,
8+ llvmPackages_18,
9 ncurses,
10+ darwin,
11 rustPlatform,
12}:
1314rustPlatform.buildRustPackage {
15 pname = "ante";
16+ version = "0-unstable-2025-07-12";
17 src = fetchFromGitHub {
18 owner = "jfecher";
19 repo = "ante";
20+ rev = "e1f68f00937ae39badcc42a48c0078b608f294bf";
21+ fetchSubmodules = true;
22+ hash = "sha256-mbjV7S705bSseA/P31jiJiktpUEQ8hS+M4kcs2AM1/Y=";
23 };
2425+ cargoHash = "sha256-cRF1JFqWpGGQO3fIGcatVY1pp65CvNeM/6LFYDJxdpM=";
2627+ strictDeps = true;
28+29+ nativeBuildInputs = [ llvmPackages_18.llvm ];
00030 buildInputs = [
31+ zlib
32 libffi
33 libxml2
34 ncurses
35 ];
3637 postPatch = ''
38+ substituteInPlace tests/golden_tests.rs --replace-fail \
39 'target/debug' "target/$(rustc -vV | sed -n 's|host: ||p')/release"
40+41+ substituteInPlace src/util/mod.rs \
42+ --replace-fail '"gcc"' '"${lib.getExe llvmPackages_18.clang}"'
43 '';
44 preBuild =
45 let
46+ major = lib.versions.major llvmPackages_18.llvm.version;
47+ minor = lib.versions.minor llvmPackages_18.llvm.version;
48 llvm-sys-ver = "${major}${builtins.substring 0 1 minor}";
49 in
50 ''
51 # On some architectures llvm-sys is not using the package listed inside nativeBuildInputs
52+ export LLVM_SYS_${llvm-sys-ver}_PREFIX=${llvmPackages_18.llvm.dev}
53 export ANTE_STDLIB_DIR=$out/lib
54 mkdir -p $ANTE_STDLIB_DIR
55 cp -r $src/stdlib/* $ANTE_STDLIB_DIR
56 '';
57+ # Ante uses the default LLVM target which, because we currently
58+ # don’t include a Darwin version in the target, seemingly defaults
59+ # to the host macOS version, which makes `ld(1)` warn about the
60+ # mismatching deployment targets, which breaks the tests.
61+ #
62+ # TODO: Remove this once it stops being necessary.
63+ preCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
64+ export MACOSX_DEPLOYMENT_TARGET=$(
65+ ${lib.getExe' darwin.DarwinTools "sw_vers"} -productVersion
66+ )
67+ '';
6869 meta = with lib; {
70 homepage = "https://antelang.org/";
···7}:
8let
9 pname = "mdsf";
10+ version = "0.10.4";
11in
12rustPlatform.buildRustPackage {
13 inherit pname version;
···16 owner = "hougesen";
17 repo = "mdsf";
18 tag = "v${version}";
19+ hash = "sha256-NH3DE6ef1HuS5ADVFros+iDQMZVVgG8V9OuFzzkig8g=";
20 };
2122+ cargoHash = "sha256-dGqFRXezzqOpHA74fnLUGQAI8KgbPmWIL46UP0wza40=";
2324 checkFlags = [
25+ # Failing due to the method under test trying to create a directory & write to the filesystem
26+ "--skip=caching::test_cache_entry::it_should_work"
27+ # Permissions denied due to the test trying to remove a directory
28+ "--skip=commands::prune_cache::test_run::it_should_remove_cache_directory"
29+ # Permissions denied due to the test trying to write to a file
30+ "--skip=config::test_config::it_should_error_on_broken_config"
31+ # The following tests try to create tmp files
32+ "--skip=format::accepts_multiple_file_paths"
33+ "--skip=format::accepts_multiple_file_paths_with_thread_argument"
34+ "--skip=format::accepts_multiple_file_paths_with_thread_argument_zero"
35+ "--skip=format::format_with_cache_arg"
36+ "--skip=format::formats_broken_input"
37+ "--skip=format::formats_broken_input_stdin"
38+ "--skip=format::formats_broken_input_with_debug_arg"
39+ "--skip=format::on_missing_tool_binary_fail_cli"
40+ "--skip=format::on_missing_tool_binary_fail_config"
41+ "--skip=format::on_missing_tool_binary_fail_fast_cli"
42+ "--skip=format::on_missing_tool_binary_fail_fast_config"
43+ "--skip=format::on_missing_tool_binary_ignore_cli"
44+ "--skip=format::on_missing_tool_binary_ignore_config"
45+ "--skip=format::on_missing_tool_binary_prioritize_cli"
46+ "--skip=format::supports_config_path_argument"
47+ # Depends on one of gofumpt, gofmt, or crlfmt being available
48+ "--skip=test_lib::it_should_add_go_package_if_missing"
49+ # The following tests depend on rustfmt being available
50+ "--skip=test_lib::it_should_format_the_code"
51+ "--skip=test_lib::it_should_format_the_codeblocks_that_start_with_whitespace"
52+ "--skip=test_lib::it_should_not_care_if_go_package_is_set"
53+ "--skip=test_lib::it_should_not_modify_outside_blocks"
54+ # The following tests try to interact with the file system
55+ "--skip=verify::accepts_multiple_file_paths_broken"
56+ "--skip=verify::accepts_multiple_file_paths_mixed"
57+ "--skip=verify::fails_with_broken_input"
58+ # The following tests try to interact with stdin
59+ "--skip=verify::success_with_formatted_input_stdin"
60+ "--skip=verify::supports_log_level_argument"
61 ];
6263 nativeInstallCheckInputs = [ versionCheckHook ];
···65 passthru.updateScript = nix-update-script { };
6667 meta = {
68+ description = "Format markdown code blocks using your favorite tools";
69 homepage = "https://github.com/hougesen/mdsf";
70 changelog = "https://github.com/hougesen/mdsf/releases";
71 license = lib.licenses.mit;
···13 gsl,
14 man,
15 pkg-config,
01617 unstableGitUpdater,
18 writeScript,
···183 nativeInstallCheckInputs = [
184 man
185 pkg-config
0186 ];
187188 installCheckInputs = [
···190 ];
191192 /*
193- XXX: The upstream assumes that `$HOME` is `/home/$USER`, and the source files
194- lie in `$HOME/cl` . The script presented here uses a fake `$USER` and a
195- symbolic linked `$HOME/cl` , which make the test suite work but do not meet
196- the conditions completely.
197 */
198 installCheckPhase = ''
199 runHook preInstallCheck
200000201 $CC s7.c -c -o s7.o
202 $CC ffitest.c s7.o -o ffitest
203 mv ffitest $dst_bin
204- mkdir -p nix-build/home
205- ln -sr . nix-build/home/cl
206207 ${lib.optionalString withArb ''
208 substituteInPlace s7test.scm \
···211 cp $out/lib/libarb_s7.so .
212 ''}
213214- USER=nix-s7-builder PATH="$dst_bin:$PATH" HOME=$PWD/nix-build/home \
215 s7-repl s7test.scm
216217 rm $dst_bin/ffitest
···13 gsl,
14 man,
15 pkg-config,
16+ writableTmpDirAsHomeHook,
1718 unstableGitUpdater,
19 writeScript,
···184 nativeInstallCheckInputs = [
185 man
186 pkg-config
187+ writableTmpDirAsHomeHook
188 ];
189190 installCheckInputs = [
···192 ];
193194 /*
195+ The test suite assumes that "there are two subdirectories of the home directory referred to: cl and test",
196+ where `cl` is "the s7 source directory" and `test` is "a safe place to write temp files".
00197 */
198 installCheckPhase = ''
199 runHook preInstallCheck
200201+ ln -sr . $HOME/cl
202+ mkdir $HOME/test
203+204 $CC s7.c -c -o s7.o
205 $CC ffitest.c s7.o -o ffitest
206 mv ffitest $dst_bin
00207208 ${lib.optionalString withArb ''
209 substituteInPlace s7test.scm \
···212 cp $out/lib/libarb_s7.so .
213 ''}
214215+ PATH="$dst_bin:$PATH" \
216 s7-repl s7test.scm
217218 rm $dst_bin/ffitest
+21
pkgs/by-name/sp/spacetimedb/fetchers.nix
···000000000000000000000
···1+# not a stable interface, do not reference outside the deno package but make a
2+# copy if you need
3+{
4+ lib,
5+ stdenv,
6+ fetchurl,
7+}:
8+9+{
10+ fetchLibrustyV8 =
11+ args:
12+ fetchurl {
13+ name = "librusty_v8-${args.version}";
14+ url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a.gz";
15+ sha256 = args.shas.${stdenv.hostPlatform.system};
16+ meta = {
17+ inherit (args) version;
18+ sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
19+ };
20+ };
21+}
···1+{
2+ lib,
3+ stdenv,
4+ curl,
5+ expat,
6+ fetchFromGitHub,
7+ gspell,
8+ gst_all_1,
9+ gtk3,
10+ libGL,
11+ libGLU,
12+ libSM,
13+ libXinerama,
14+ libXtst,
15+ libXxf86vm,
16+ libnotify,
17+ libpng,
18+ libsecret,
19+ libtiff,
20+ libjpeg_turbo,
21+ libxkbcommon,
22+ zlib,
23+ pcre2,
24+ pkg-config,
25+ xorgproto,
26+ compat30 ? false,
27+ compat32 ? true,
28+ withMesa ? !stdenv.hostPlatform.isDarwin,
29+ withWebKit ? true,
30+ webkitgtk_4_1,
31+}:
32+33+stdenv.mkDerivation (finalAttrs: {
34+ pname = "wxwidgets";
35+ version = "3.3.1";
36+37+ src = fetchFromGitHub {
38+ owner = "wxWidgets";
39+ repo = "wxWidgets";
40+ tag = "v${finalAttrs.version}";
41+ fetchSubmodules = true;
42+ hash = "sha256-eYmZrh9lvDnJ3VAS+TllT21emtKBPAOhqIULw1dTPhk=";
43+ };
44+45+ nativeBuildInputs = [ pkg-config ];
46+47+ buildInputs = [
48+ gst_all_1.gst-plugins-base
49+ gst_all_1.gstreamer
50+ libpng
51+ libtiff
52+ libjpeg_turbo
53+ zlib
54+ pcre2
55+ ]
56+ ++ lib.optionals stdenv.hostPlatform.isLinux [
57+ curl
58+ gspell # wxTextCtrl spell checking
59+ gtk3
60+ libSM
61+ libXinerama
62+ libXtst
63+ libXxf86vm
64+ libnotify # wxNotificationMessage backend
65+ libsecret # wxSecretStore backend
66+ libxkbcommon # proper key codes in key events
67+ xorgproto
68+ ]
69+ ++ lib.optional withMesa libGLU
70+ ++ lib.optional (withWebKit && stdenv.hostPlatform.isLinux) webkitgtk_4_1
71+ ++ lib.optionals stdenv.hostPlatform.isDarwin [
72+ expat
73+ ];
74+75+ configureFlags = [
76+ "--disable-precomp-headers"
77+ # This is the default option, but be explicit
78+ "--disable-monolithic"
79+ "--enable-mediactrl"
80+ "--with-nanosvg"
81+ "--disable-rpath"
82+ "--enable-repro-build"
83+ "--enable-webrequest"
84+ (if compat30 then "--enable-compat30" else "--disable-compat30")
85+ (if compat32 then "--enable-compat32" else "--disable-compat32")
86+ ]
87+ ++ lib.optional withMesa "--with-opengl"
88+ ++ lib.optionals stdenv.hostPlatform.isDarwin [
89+ "--with-osx_cocoa"
90+ "--with-libiconv"
91+ "--with-urlsession" # for wxWebRequest
92+ ]
93+ ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
94+ "--with-libcurl" # for wxWebRequest
95+ ]
96+ ++ lib.optionals withWebKit [
97+ "--enable-webview"
98+ "--enable-webviewwebkit"
99+ ];
100+101+ SEARCH_LIB = lib.optionalString (
102+ !stdenv.hostPlatform.isDarwin
103+ ) "${libGLU.out}/lib ${libGL.out}/lib";
104+105+ postInstall = "
106+ pushd $out/include
107+ ln -s wx-*/* .
108+ popd
109+ ";
110+111+ enableParallelBuilding = true;
112+113+ passthru = {
114+ inherit compat30 compat32;
115+ };
116+117+ meta = {
118+ homepage = "https://www.wxwidgets.org/";
119+ description = "Cross-Platform C++ GUI Library";
120+ longDescription = ''
121+ wxWidgets gives you a single, easy-to-use API for writing GUI applications
122+ on multiple platforms that still utilize the native platform's controls
123+ and utilities. Link with the appropriate library for your platform and
124+ compiler, and your application will adopt the look and feel appropriate to
125+ that platform. On top of great GUI functionality, wxWidgets gives you:
126+ online help, network programming, streams, clipboard and drag and drop,
127+ multithreading, image loading and saving in a variety of popular formats,
128+ database support, HTML viewing and printing, and much more.
129+ '';
130+ license = lib.licenses.wxWindows;
131+ maintainers = with lib.maintainers; [
132+ tfmoraes
133+ fliegendewurst
134+ wegank
135+ ];
136+ platforms = lib.platforms.unix;
137+ };
138+})
+7-6
pkgs/by-name/zo/zoom-us/package.nix
···58 # Zoom versions are released at different times per platform and often with different versions.
59 # We write them on three lines like this (rather than using {}) so that the updater script can
60 # find where to edit them.
61- versions.aarch64-darwin = "6.5.9.61929";
62- versions.x86_64-darwin = "6.5.9.61929";
6364 # This is the fallback version so that evaluation can produce a meaningful result.
65- versions.x86_64-linux = "6.5.9.3723";
6667 srcs = {
68 aarch64-darwin = fetchurl {
69 url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
70 name = "zoomusInstallerFull.pkg";
71- hash = "sha256-2V4Cad7/YcI5rSuUu8GI1GCEgio/rG/ZRpedNKqoGvc=";
72 };
73 x86_64-darwin = fetchurl {
74 url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
75- hash = "sha256-RO+kIHvmvCj9bun2BeCzAm9XMYQOobYyVKqA5ruG0I8=";
76 };
77 x86_64-linux = fetchurl {
78 url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
79- hash = "sha256-OOa4zRRekXEWLl+BH3bPtCQzRaQAo742C9EqPTZnDR8=";
80 };
81 };
82···209 pkgs.xorg.libXtst
210 pkgs.xorg.libxcb
211 pkgs.xorg.libxshmfence
0212 pkgs.xorg.xcbutilimage
213 pkgs.xorg.xcbutilkeysyms
214 pkgs.xorg.xcbutilrenderutil
···58 # Zoom versions are released at different times per platform and often with different versions.
59 # We write them on three lines like this (rather than using {}) so that the updater script can
60 # find where to edit them.
61+ versions.aarch64-darwin = "6.5.10.62715";
62+ versions.x86_64-darwin = "6.5.10.62715";
6364 # This is the fallback version so that evaluation can produce a meaningful result.
65+ versions.x86_64-linux = "6.5.10.3973";
6667 srcs = {
68 aarch64-darwin = fetchurl {
69 url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
70 name = "zoomusInstallerFull.pkg";
71+ hash = "sha256-O7h+4mfoUSoFd8c7K+C9W6L46PgJvDKj1qb+DG0leco=";
72 };
73 x86_64-darwin = fetchurl {
74 url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
75+ hash = "sha256-S1pyrguOjEGW87HM+K1B/FI55WJp7Xu8cXvdpRA0sJ8=";
76 };
77 x86_64-linux = fetchurl {
78 url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
79+ hash = "sha256-OXuhVpWAyfQYdEnjF7I6gOJeDCS1GlSonN5cdvvtJL0=";
80 };
81 };
82···209 pkgs.xorg.libXtst
210 pkgs.xorg.libxcb
211 pkgs.xorg.libxshmfence
212+ pkgs.xorg.xcbutilcursor
213 pkgs.xorg.xcbutilimage
214 pkgs.xorg.xcbutilkeysyms
215 pkgs.xorg.xcbutilrenderutil