Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-09-24 18:01:05 +00:00 committed by GitHub
commit e9720dde38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 1487 additions and 709 deletions

View File

@ -746,6 +746,8 @@ in
umask u=rwx,g=rx,o=
rm -rf /var/lib/discourse/tmp/*
cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/
cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/
ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads
@ -767,7 +769,7 @@ in
)
discourse-rake db:migrate >>/var/log/discourse/db_migration.log
chmod -R u+w /run/discourse/tmp/
chmod -R u+w /var/lib/discourse/tmp/
${lib.optionalString (!cfg.admin.skipCreate) mkAdmin}
@ -782,7 +784,6 @@ in
RuntimeDirectory = map (p: "discourse/" + p) [
"config"
"home"
"tmp"
"assets/javascripts/plugins"
"public"
"sockets"
@ -791,6 +792,7 @@ in
StateDirectory = map (p: "discourse/" + p) [
"uploads"
"backups"
"tmp"
];
StateDirectoryMode = 0750;
LogsDirectory = "discourse";

View File

@ -0,0 +1,22 @@
{ lib, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "cloak";
version = "0.2.0";
src = fetchFromGitHub {
owner = "evansmurithi";
repo = pname;
rev = "v${version}";
sha256 = "139z2ga0q7a0vwfnn5hpzsz5yrrrr7rgyd32yvfj5sxiywkmczs7";
};
cargoSha256 = "0af38wgwmsamnx63dwfm2nrkd8wmky3ai7zwy0knmifgkn4b7yyj";
meta = with lib; {
homepage = "https://github.com/evansmurithi/cloak";
description = "Command-line OTP authenticator application";
license = licenses.mit;
maintainers = with maintainers; [ mvs ];
};
}

View File

@ -0,0 +1,39 @@
{ lib, stdenv, fetchFromGitHub, systemd, libnotify, pkg-config }:
stdenv.mkDerivation rec {
pname = "psi-notify";
version = "1.2.1";
src = fetchFromGitHub {
owner = "cdown";
repo = pname;
rev = version;
sha256 = "0hn37plim1smmlrjjmz8kybyms8pz3wxcgf8vmqjrsqi6bfcym7g";
};
buildInputs = [ systemd libnotify ];
nativeBuildInputs = [ pkg-config ];
installPhase = ''
runHook preInstall
install -D psi-notify $out/bin/psi-notify
substituteInPlace psi-notify.service --replace psi-notify $out/bin/psi-notify
install -D psi-notify.service $out/share/systemd/user/psi-notify.service
runHook postInstall
'';
meta = with lib; {
description = "Alert on system resource saturation";
longDescription = ''
psi-notify can alert you when resources on your machine are becoming
oversaturated, and allow you to take action before your system slows to a
crawl.
'';
license = licenses.mit;
homepage = "https://github.com/cdown/psi-notify";
platforms = platforms.linux;
maintainers = with maintainers; [ eduarrrd ];
};
}

View File

@ -1,8 +1,8 @@
{
"stable": {
"version": "94.0.4606.54",
"sha256": "0p8kfnyhykbv1cylsx4hj2qdzqr2xdql9rhpva8bfla2w9hr8g83",
"sha256bin64": "0lq34l00zrr92g882xzqwq1lf2vf12x1mwidrr2qh6fz7v5418d3",
"version": "94.0.4606.61",
"sha256": "1gxrxmd2almwf067zycilyxkmc0d62h99ln8wp3n3i02bi9xnik4",
"sha256bin64": "116xrf8hcprbdpdx6a4xysac2phyvw88vs3n1bs24ly6pxydsasz",
"deps": {
"gn": {
"version": "2021-08-11",
@ -18,9 +18,9 @@
}
},
"beta": {
"version": "94.0.4606.54",
"sha256": "0p8kfnyhykbv1cylsx4hj2qdzqr2xdql9rhpva8bfla2w9hr8g83",
"sha256bin64": "1c2i9830r0fldigv16ggmj6r74l6d85abbhka0a5wpbbn6ay08jx",
"version": "95.0.4638.17",
"sha256": "1v5r8m3wlwh6prcj7bd4zprsr4g43869lhxv43m207c5nlnqiriz",
"sha256bin64": "0h88gd8y4i2jmvhiwadbq6hzqygddym8jy1fhzp8qnwfhc30qm4m",
"deps": {
"gn": {
"version": "2021-08-11",

View File

@ -1,12 +1,11 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, pantheon
, meson
, ninja
, pkg-config
, vala
, vala_0_52
, desktop-file-utils
, gtk3
, libaccounts-glib
@ -35,7 +34,7 @@
stdenv.mkDerivation rec {
pname = "elementary-photos";
version = "2.7.1";
version = "2.7.2";
repoName = "photos";
@ -43,18 +42,9 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = repoName;
rev = version;
sha256 = "1dql14k43rv3in451amiwv4z71hz3ailx67hd8gw1ka3yw12128p";
sha256 = "1zq9zfsc987vvrzadw9xqi3rlbi4jv2s82axkgy7ijm3ibi58ddc";
};
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/photos/pull/629
(fetchpatch {
url = "https://github.com/elementary/photos/commit/e5230a4305381734e93f1e3d1177da21a8a4121b.patch";
sha256 = "1igqq51sj1sx6rl8yrw037jsgnaxfwzfs0m6pqzb9q4jvfdimzfi";
})
];
passthru = {
updateScript = nix-update-script {
attrPath = "pantheon.${pname}";
@ -68,7 +58,9 @@ stdenv.mkDerivation rec {
ninja
pkg-config
python3
vala
# Does not build with vala 0.54
# https://github.com/elementary/photos/issues/638
vala_0_52
wrapGAppsHook
];

View File

@ -2,7 +2,6 @@
, fetchFromGitHub
, nix-update-script
, pantheon
, fetchpatch
, substituteAll
, meson
, ninja

View File

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, substituteAll
, pantheon

View File

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, linkFarm
, substituteAll

View File

@ -1,7 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, nix-update-script
, fetchpatch
, pantheon
, pkg-config
, meson
@ -30,13 +29,13 @@
stdenv.mkDerivation rec {
pname = "gala";
version = "6.0.1";
version = "6.2.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
sha256 = "0xp9vviamzdwlcnx4836sxaz2pyfkxswgvjm73ppn7fkdm0zjpzx";
sha256 = "1yxsfshahaxiqs5waj4v96rhjhdgyd1za4pwlg3vqq51p75k2b1g";
};
passthru = {
@ -75,12 +74,6 @@ stdenv.mkDerivation rec {
];
patches = [
# Upstream code not respecting our localedir
# https://github.com/elementary/gala/pull/1205
(fetchpatch {
url = "https://github.com/elementary/gala/commit/605aa10ea2a78650e001b2a247c5f7afce478b05.patch";
sha256 = "0bg67wzrnmx8nlw93i35vhyfx8al0bj0lacgci98vwlp2m1jgbd2";
})
./plugins-dir.patch
];

View File

@ -7,7 +7,7 @@
, meson
, python3
, ninja
, vala
, vala_0_52
, gtk3
, granite
, wingpanel
@ -50,7 +50,9 @@ stdenv.mkDerivation rec {
ninja
pkg-config
python3
vala
# Does not build with vala 0.54
# https://github.com/elementary/wingpanel-indicator-sound/issues/219
vala_0_52
];
buildInputs = [

View File

@ -17,7 +17,15 @@ in clangStdenv.mkDerivation rec {
sha256 = "1dwf10f2fpxc55pymwkapql20nc462mq61hv21c527994c2qp1ll";
};
cmakeFlags = [ "-DUSE_BOOST_WAVE=ON" "-DENABLERTTI=ON" ];
cmakeFlags = [
"-DUSE_BOOST_WAVE=ON"
"-DENABLERTTI=ON"
# Build system implies llvm-config and llvm-as are in the same directory.
# Override defaults.
"-DLLVM_DIRECTORY=${llvm}"
"-DLLVM_CONFIG=${llvm.dev}/bin/llvm-config"
];
preConfigure = "patchShebangs src/liboslexec/serialize-bc.bash ";

View File

@ -25,6 +25,7 @@
, "bower"
, "bower2nix"
, "browserify"
, "browser-sync"
, "btc-rpc-explorer"
, "castnow"
, "carbon-now-cli"

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,6 @@
, pytestCheckHook
, pytest-asyncio
, pytest-tornado
, pytest-cov
, sqlalchemy
, tornado
, twisted
@ -23,6 +22,7 @@
buildPythonPackage rec {
pname = "APScheduler";
version = "3.8.0";
disabled = pythonOlder "3.7";
src = fetchPypi {
@ -38,7 +38,6 @@ buildPythonPackage rec {
pytest-asyncio
pytest-tornado
pytestCheckHook
pytest-cov
sqlalchemy
tornado
twisted
@ -54,7 +53,14 @@ buildPythonPackage rec {
setuptools
];
disabledTests = lib.optionals stdenv.isDarwin [
postPatch = ''
substituteInPlace setup.cfg \
--replace " --cov --tb=short" ""
'';
disabledTests = [
"test_broken_pool"
] ++ lib.optionals stdenv.isDarwin [
"test_submit_job"
"test_max_instances"
];
@ -65,5 +71,6 @@ buildPythonPackage rec {
description = "A Python library that lets you schedule your Python code to be executed";
homepage = "https://github.com/agronholm/apscheduler";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}

View File

@ -2,7 +2,7 @@
buildPythonPackage rec {
pname = "awscrt";
version = "0.12.2";
version = "0.12.3";
buildInputs = lib.optionals stdenv.isDarwin
(with darwin.apple_sdk.frameworks; [ CoreFoundation Security ]);
@ -23,7 +23,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "c3a5aabac3d5dd5560f147fc8758034fa17bbd2d06793f6e6a30d99eeab2cbda";
sha256 = "441262c36b450286132fde7f110823f7ae7ae909c0f6483a0a2d56150b62f2b5";
};
meta = with lib; {

View File

@ -19,13 +19,13 @@ let
];
in stdenv.mkDerivation rec {
pname = "ryujinx";
version = "1.0.6954"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
version = "1.0.7047"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx
src = fetchFromGitHub {
owner = "Ryujinx";
repo = "Ryujinx";
rev = "31cbd09a75a9d5f4814c3907a060e0961eb2bb15";
sha256 = "00qql0wmlzs722s0igip3v0yjlqhc31jcr7nghwibcqrmx031azk";
rev = "7c5ead1c196d597384085cc9a609afdc89a43774";
sha256 = "00c6il67y9ky0f8f97nn8aqm4klwz59842nsh554w98gwv8w1jjb";
};
nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper wrapGAppsHook gobject-introspection gdk-pixbuf ];

View File

@ -11,7 +11,7 @@
(fetchNuGet { name = "GLibSharp"; version = "3.22.25.128"; sha256 = "1j8i5izk97ga30z1qpd765zqd2q5w71y8bhnkqq4bj59768fyxp5"; })
(fetchNuGet { name = "GtkSharp"; version = "3.22.25.128"; sha256 = "0z0wx0p3gc02r8d7y88k1rw307sb2vapbr1k1yc5qdc38fxz5jsy"; })
(fetchNuGet { name = "GtkSharp.Dependencies"; version = "1.1.0"; sha256 = "1g1rhcn38ww97638rds6l5bysra43hkhv47fy71fvq89623zgyxn"; })
(fetchNuGet { name = "LibHac"; version = "0.12.0"; sha256 = "08r9b9cdcbz6339sw8r5dfy2a8iw53df0j3xq9rygkg02xspimld"; })
(fetchNuGet { name = "LibHac"; version = "0.13.3"; sha256 = "0mh7q1i9wk5mj7xc1rbsasfmd0d1y6xs5m4nllmclk4drzkzsi56"; })
(fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.10"; sha256 = "1zlcdqscbgqz5yqfgn21l711ybplid97c6wg0gqbbd6920qmpidd"; })
(fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "5.0.10"; sha256 = "0ir75jh4qas1v70y63hvd0rbyprcf97l47b2pgljhxk138z96s4y"; })
(fetchNuGet { name = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "5.0.10"; sha256 = "0qhyrprvbhcn980ycqvkchd4qy5shydi7pl0lbcl9cljivn60if3"; })
@ -102,7 +102,7 @@
(fetchNuGet { name = "runtime.win.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr"; })
(fetchNuGet { name = "Ryujinx.Audio.OpenAL.Dependencies"; version = "1.21.0.1"; sha256 = "0z5k42h252nr60d02p2ww9190d7k1kzrb26vil4ydfhxqqqv6w9l"; })
(fetchNuGet { name = "Ryujinx.Graphics.Nvdec.Dependencies"; version = "4.4.0-build7"; sha256 = "0g1l3lgs0ffxp64ka81v6q1cgsdirl1qlf73255v29r3v337074m"; })
(fetchNuGet { name = "Ryujinx.SDL2-CS"; version = "2.0.15-build11"; sha256 = "0s4h69l2b508l5wxp4v4ip8k83k78p3963xxv8bfamin9517przi"; })
(fetchNuGet { name = "Ryujinx.SDL2-CS"; version = "2.0.17-build18"; sha256 = "0j0vs6075c4fniydqxhpp18pg3x679mq463x4gxqgkri3vhpj4vl"; })
(fetchNuGet { name = "SharpZipLib"; version = "1.3.0"; sha256 = "1pizj82wisch28nfdaszwqm9bz19lnl0s5mq8c0zybm2vhnrhvk4"; })
(fetchNuGet { name = "SixLabors.Fonts"; version = "1.0.0-beta0013"; sha256 = "0r0aw8xxd32rwcawawcz6asiyggz02hnzg5hvz8gimq8hvwx1wql"; })
(fetchNuGet { name = "SixLabors.ImageSharp"; version = "1.0.2"; sha256 = "0fhk9sn8k18slfb26wz8mal0j699f7djwhxgv97snz6b10wynfaj"; })
@ -176,7 +176,6 @@
(fetchNuGet { name = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; })
(fetchNuGet { name = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
(fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.0"; sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54"; })
(fetchNuGet { name = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0-preview.7.20364.11"; sha256 = "19sl184f6rjhfsizq0vapysazd6yd66lf638rszvrdhqlsxssz2m"; })
(fetchNuGet { name = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
(fetchNuGet { name = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
(fetchNuGet { name = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })

View File

@ -290,7 +290,7 @@ let
cp -r . $out/share/discourse
rm -r $out/share/discourse/log
ln -sf /var/log/discourse $out/share/discourse/log
ln -sf /run/discourse/tmp $out/share/discourse/tmp
ln -sf /var/lib/discourse/tmp $out/share/discourse/tmp
ln -sf /run/discourse/config $out/share/discourse/config
ln -sf /run/discourse/assets/javascripts/plugins $out/share/discourse/app/assets/javascripts/plugins
ln -sf /run/discourse/public $out/share/discourse/public

View File

@ -0,0 +1,31 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "ssh-to-age";
version = "1.0.1";
src = fetchFromGitHub {
owner = "Mic92";
repo = "ssh-to-age";
rev = version;
sha256 = "sha256-ccwCHu6RlWqMnt5nBy54bVEzfE9/3PEL4C5LnYTtnwU=";
};
vendorSha256 = "sha256-jiFPcdWnAk54RJv4mHB3A+5tqKzqitfsiRXYZLa3Gu0=";
checkPhase = ''
runHook preCheck
go test ./...
runHook postCheck
'';
doCheck = true;
meta = with lib; {
description = "Convert ssh private keys in ed25519 format to age keys";
homepage = "https://github.com/Mic92/ssh-to-age";
license = licenses.mit;
maintainers = with maintainers; [ mic92 ];
platforms = platforms.unix;
};
}

View File

@ -1,33 +1,89 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib }:
{ lib, stdenv, fetchFromGitHub, autoreconfHook, libewf, afflib, openssl, zlib, openjdk, perl, ant }:
stdenv.mkDerivation rec {
version = "4.11.0";
pname = "sleuthkit";
src = fetchFromGitHub {
sleuthsrc = fetchFromGitHub {
owner = "sleuthkit";
repo = "sleuthkit";
rev = "${pname}-${version}";
sha256 = "sha256-cY55zK6N3tyCLBJtZn4LhK9kLkikJjg640Pm/NA0ALY=";
sha256 = "1dh06k8grrj3wcx3h9m490p69bw41dz6cv8j5j1drpldmv67k3ki";
};
# Fetch libraries using a fixed output derivation
rdeps = stdenv.mkDerivation rec {
version = "1.0";
pname = "sleuthkit-deps";
nativeBuildInputs = [ openjdk ant ];
src = sleuthsrc;
# unpack, build, install
dontConfigure = true;
buildPhase = ''
export IVY_HOME=$NIX_BUILD_TOP/.ant
pushd bindings/java
ant retrieve-deps
popd
pushd case-uco/java
ant get-ivy-dependencies
popd
'';
installPhase = ''
export IVY_HOME=$NIX_BUILD_TOP/.ant
mkdir -m 755 -p $out/bindings/java
cp -r bindings/java/lib $out/bindings/java
mkdir -m 755 -p $out/case-uco/java
cp -r case-uco/java/lib $out/case-uco/java
cp -r $IVY_HOME/lib $out
chmod -R 755 $out/lib
'';
outputHashMode = "recursive";
outputHash = "0fq7v6zlgybg4v6k9wqjlk4gaqgjrpihbnr182vaqriihflav2s8";
outputHashAlgo = "sha256";
};
src = sleuthsrc;
postPatch = ''
substituteInPlace tsk/img/ewf.cpp --replace libewf_handle_read_random libewf_handle_read_buffer_at_offset
'';
enableParallelBuilding = true;
nativeBuildInputs = [ autoreconfHook ];
nativeBuildInputs = [ autoreconfHook openjdk perl ant rdeps ];
buildInputs = [ libewf afflib openssl zlib ];
# Hack to fix the RPATH.
preFixup = "rm -rf */.libs";
# Hack to fix the RPATH
preFixup = ''
rm -rf */.libs
'';
meta = {
postUnpack = ''
export IVY_HOME="$NIX_BUILD_TOP/.ant"
export JAVA_HOME="${openjdk}"
export ant_args="-Doffline=true -Ddefault-jar-location=$IVY_HOME/lib"
# pre-positioning these jar files allows -Doffline=true to work
mkdir -p source/{bindings,case-uco}/java $IVY_HOME
cp -r ${rdeps}/bindings/java/lib source/bindings/java
chmod -R 755 source/bindings/java
cp -r ${rdeps}/case-uco/java/lib source/case-uco/java
chmod -R 755 source/case-uco/java
cp -r ${rdeps}/lib $IVY_HOME
chmod -R 755 $IVY_HOME
'';
meta = with lib; {
description = "A forensic/data recovery tool";
homepage = "https://www.sleuthkit.org/";
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
license = lib.licenses.ipl10;
maintainers = with maintainers; [ raskin gfrascadorio ];
platforms = platforms.linux;
license = licenses.ipl10;
};
}

View File

@ -0,0 +1,22 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "align";
version = "1.1.3";
src = fetchFromGitHub {
owner = "Guitarbum722";
repo = pname;
rev = "v${version}";
sha256 = "17gs3417633z71kc6l5zqg4b3rjhpn2v8qs8rnfrk4nbwzz4nrq3";
};
vendorSha256 = null;
meta = with lib; {
homepage = "https://github.com/Guitarbum722/align";
description = "A general purpose application and library for aligning text";
maintainers = with maintainers; [ hrhino ];
license = licenses.mit;
};
}

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "tv";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "uzimaru0000";
repo = pname;
rev = "v${version}";
sha256 = "sha256-4PcD0keG3OVZPv6MA+rNSL9lysrseJUA6C5cd2f6LRY=";
sha256 = "sha256-qODv45smZ6jHCJBaa6EEvFLG+7g+FWrRf6BiHRFLzqM=";
};
cargoSha256 = "sha256-E4qMxCqgJYIA8E6A0d8iUYTbKif5T51zcFdc+Ptq7qc=";
cargoSha256 = "sha256-nI4n4KMPLaIF978b5VvW3mb02vKW+r39nllrhukJilI=";
meta = with lib; {
description = "Format json into table view";

View File

@ -167,6 +167,8 @@ with pkgs;
alda = callPackage ../development/interpreters/alda { };
align = callPackage ../tools/text/align { };
althttpd = callPackage ../servers/althttpd { };
among-sus = callPackage ../games/among-sus { };
@ -244,6 +246,8 @@ with pkgs;
clj-kondo = callPackage ../development/tools/clj-kondo { };
cloak = callPackage ../applications/misc/cloak { };
cmark = callPackage ../development/libraries/cmark { };
cmark-gfm = callPackage ../development/libraries/cmark-gfm { };
@ -9209,6 +9213,8 @@ with pkgs;
ssh-chat = callPackage ../applications/networking/instant-messengers/ssh-chat { };
ssh-to-age = callPackage ../tools/security/ssh-to-age { };
ssh-to-pgp = callPackage ../tools/security/ssh-to-pgp { };
suricata = callPackage ../applications/networking/ids/suricata {
@ -26308,6 +26314,8 @@ with pkgs;
prevo-data = callPackage ../applications/misc/prevo/data.nix { };
prevo-tools = callPackage ../applications/misc/prevo/tools.nix { };
psi-notify = callPackage ../applications/misc/psi-notify { };
ptex = callPackage ../development/libraries/ptex {};
pyright = nodePackages.pyright;