about summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/an/anytype/package.nix42
-rw-r--r--pkgs/by-name/as/ast-grep/package.nix6
-rw-r--r--pkgs/by-name/bi/bitmagnet/package.nix13
-rw-r--r--pkgs/by-name/ca/cargo-swift/package.nix6
-rw-r--r--pkgs/by-name/co/corrupter/package.nix33
-rw-r--r--pkgs/by-name/fl/flarectl/package.nix4
-rw-r--r--pkgs/by-name/gi/git-releaser/package.nix32
-rw-r--r--pkgs/by-name/gi/gitmoji-cli/package.nix9
-rw-r--r--pkgs/by-name/gl/glide-media-player/package.nix84
-rw-r--r--pkgs/by-name/kd/kdsingleapplication/package.nix4
-rw-r--r--pkgs/by-name/li/lint-staged/package.nix6
-rw-r--r--pkgs/by-name/mu/multirun/package.nix30
-rw-r--r--pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix30
-rw-r--r--pkgs/by-name/op/opensearch-cli/package.nix38
-rw-r--r--pkgs/by-name/ov/overskride/package.nix66
-rw-r--r--pkgs/by-name/pa/pacproxy/package.nix27
-rw-r--r--pkgs/by-name/qu/quickjs-ng/package.nix53
-rw-r--r--pkgs/by-name/ra/raspberrypi-eeprom/package.nix72
-rw-r--r--pkgs/by-name/rs/rspamd-trainer/package.nix59
-rw-r--r--pkgs/by-name/sc/scalingo/package.nix4
-rw-r--r--pkgs/by-name/sp/spirit/package.nix30
-rw-r--r--pkgs/by-name/ti/tigerbeetle/package.nix43
-rw-r--r--pkgs/by-name/ut/ut/package.nix4
-rw-r--r--pkgs/by-name/xp/xplr/package.nix47
24 files changed, 720 insertions, 22 deletions
diff --git a/pkgs/by-name/an/anytype/package.nix b/pkgs/by-name/an/anytype/package.nix
new file mode 100644
index 0000000000000..c7c480d0ac231
--- /dev/null
+++ b/pkgs/by-name/an/anytype/package.nix
@@ -0,0 +1,42 @@
+{ lib, fetchurl, appimageTools, makeWrapper }:
+
+let
+  pname = "anytype";
+  version = "0.37.0";
+  name = "Anytype-${version}";
+  nameExecutable = pname;
+  src = fetchurl {
+    url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
+    name = "Anytype-${version}.AppImage";
+    sha256 = "sha256-Z46GTcJoaqvjVuxUP+OuxD32KM0NQISWMlv3uco5r6g=";
+  };
+  appimageContents = appimageTools.extractType2 { inherit name src; };
+in
+appimageTools.wrapType2 {
+  inherit name src;
+
+  extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
+    ++ [ pkgs.libsecret ];
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    source "${makeWrapper}/nix-support/setup-hook"
+    wrapProgram $out/bin/${pname} \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+    install -m 444 -D ${appimageContents}/anytype.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/anytype.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    for size in 16 32 64 128 256 512 1024; do
+      install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/''${size}x''${size}/apps/anytype.png \
+        $out/share/icons/hicolor/''${size}x''${size}/apps/anytype.png
+    done
+  '';
+
+  meta = with lib; {
+    description = "P2P note-taking tool";
+    homepage = "https://anytype.io/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ running-grass ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix
index 0f1ec9fca2884..a70c8bd626918 100644
--- a/pkgs/by-name/as/ast-grep/package.nix
+++ b/pkgs/by-name/as/ast-grep/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ast-grep";
-  version = "0.14.4";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "ast-grep";
     repo = "ast-grep";
     rev = version;
-    hash = "sha256-TEuQ6Ng9DO2ueIvZkXKIE/gQ/v1wSyzQQRFT2Srxuxo=";
+    hash = "sha256-eoi0kZunU0Jvy5TGK1Whkluk06k6fnsL54dSRXQu1TM=";
   };
 
-  cargoHash = "sha256-zg2N8yw9qviHd4EVzGakFpBzkKyzVfM/8FRXu24zL64=";
+  cargoHash = "sha256-xXOO3mOrAFhJuU3Zrpgys36q1sDikigDv4Ch8T8OVxY=";
 
   # Work around https://github.com/NixOS/nixpkgs/issues/166205.
   env = lib.optionalAttrs stdenv.cc.isClang {
diff --git a/pkgs/by-name/bi/bitmagnet/package.nix b/pkgs/by-name/bi/bitmagnet/package.nix
index a34802c5de1ef..e5af5e0bd43be 100644
--- a/pkgs/by-name/bi/bitmagnet/package.nix
+++ b/pkgs/by-name/bi/bitmagnet/package.nix
@@ -1,23 +1,28 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, nix-update-script
 }:
 
 buildGoModule rec {
   pname = "bitmagnet";
-  version = "0.0.6";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "bitmagnet-io";
     repo = "bitmagnet";
     rev = "v${version}";
-    hash = "sha256-+KAIHg8M2CM+GRRv+htmev8MFe/Y1sJ8p+um/c7kI7c=";
+    hash = "sha256-Geukd4JYwmdG7M+HDCCqpiUjor1TWsqBY42ACd+LasU=";
   };
 
-  vendorHash = "sha256-ydiZ3KMEiVkmdzhHjYYLJ7wuiKmwlMEn4OWrKSOnaSo=";
+  vendorHash = "sha256-TbfbrvXbO+eOb1Ot/gWRBjggTj9jkSGulHIJdziqsVc=";
 
   ldflags = [ "-s" "-w" ];
 
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
   meta = {
     description = "A self-hosted BitTorrent indexer, DHT crawler, and torrent search engine";
     longDescription = ''
@@ -25,7 +30,7 @@ buildGoModule rec {
     '';
     homepage = "https://bitmagnet.io/";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ eclairevoyant ];
+    maintainers = with lib.maintainers; [ eclairevoyant viraptor ];
     mainProgram = "bitmagnet";
   };
 }
diff --git a/pkgs/by-name/ca/cargo-swift/package.nix b/pkgs/by-name/ca/cargo-swift/package.nix
index e98dab10b058b..f9f1f6baa2f90 100644
--- a/pkgs/by-name/ca/cargo-swift/package.nix
+++ b/pkgs/by-name/ca/cargo-swift/package.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-swift";
-  version = "0.4.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "antoniusnaumann";
     repo = "cargo-swift";
     rev = "v${version}";
-    hash = "sha256-dW0/h7uS0BEstiochACIySSKXsz+E6Tj5MaLtdin7gw=";
+    hash = "sha256-v7ZZ3tMM8KmRk6y3uSw8ZBEcByQ95XQv3XPTUtDGUQ0=";
   };
 
-  cargoHash = "sha256-LsjDeKfAvgVYM4qYyWq9MoXB4jIh870urrFHpiGCGPc=";
+  cargoHash = "sha256-K3xZytJJ9/CaHWHL1fX0vKYpzH9yz3xOs2J5PoZWWv0=";
 
   meta = with lib; {
     description = "A cargo plugin to easily build Swift packages from Rust code";
diff --git a/pkgs/by-name/co/corrupter/package.nix b/pkgs/by-name/co/corrupter/package.nix
new file mode 100644
index 0000000000000..9e6f339023564
--- /dev/null
+++ b/pkgs/by-name/co/corrupter/package.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, nix-update-script
+}:
+
+buildGoModule {
+  pname = "corrupter";
+  version = "1.0-unstable-2023-01-11";
+
+  src = fetchFromGitHub {
+    owner = "r00tman";
+    repo = "corrupter";
+    # https://github.com/r00tman/corrupter/issues/15
+    rev = "d7aecbb8b622a2c6fafe7baea5f718b46155be15";
+    hash = "sha256-GEia3wZqI/j7/dpBbL1SQLkOXZqEwanKGM4wY9nLIqE=";
+  };
+
+  vendorHash = null;
+
+  # There are no tests available for this package.
+  doCheck = false;
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "Simple image glitcher suitable for producing lockscreens";
+    homepage = "https://github.com/r00tman/corrupter";
+    license = licenses.bsd2;
+    maintainers = [ maintainers.ivan770 ];
+    mainProgram = "corrupter";
+  };
+}
diff --git a/pkgs/by-name/fl/flarectl/package.nix b/pkgs/by-name/fl/flarectl/package.nix
index 8e6dcb2953ef2..eaf6e0b6d78b8 100644
--- a/pkgs/by-name/fl/flarectl/package.nix
+++ b/pkgs/by-name/fl/flarectl/package.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "flarectl";
-  version = "0.83.0";
+  version = "0.84.0";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = "cloudflare-go";
     rev = "v${version}";
-    hash = "sha256-TPUHSoot+Hsq71KcNXuJn5sHRuDn3J1FB3r/29Ce9/c=";
+    hash = "sha256-RHt5Hu3N7gJIg7daylBSr9p7Hb9eQQUK2CfC6q/pblM=";
   };
 
   vendorHash = "sha256-XziR/ZB0kva/sl2Tj+m0pdK5HxLW6osBXD00+m/y0cQ=";
diff --git a/pkgs/by-name/gi/git-releaser/package.nix b/pkgs/by-name/gi/git-releaser/package.nix
new file mode 100644
index 0000000000000..f5b0518aaabca
--- /dev/null
+++ b/pkgs/by-name/gi/git-releaser/package.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, nix-update-script
+}:
+
+buildGoModule rec {
+  pname = "git-releaser";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "git-releaser";
+    repo = "git-releaser";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-owIXiLLnCkda9O0C0wW0nEuwXC4hipNpR9fdFqgbWts=";
+  };
+
+  vendorHash = "sha256-dTyHKSCEImySu6Tagqvh6jDvgDbOTL0fMUOjFBpp64k=";
+
+  ldflags = [ "-X main.version=${version}" ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "Tool for creating Git releases based on Semantic Versioning";
+    homepage = "https://github.com/git-releaser/git-releaser";
+    changelog = "https://github.com/git-releaser/git-releaser/releases/tag/v${version}";
+    maintainers = with maintainers; [ jakuzure ];
+    license = licenses.asl20;
+    mainProgram = "git-releaser";
+  };
+}
diff --git a/pkgs/by-name/gi/gitmoji-cli/package.nix b/pkgs/by-name/gi/gitmoji-cli/package.nix
index 7787bd4ccf819..79a801000ad1b 100644
--- a/pkgs/by-name/gi/gitmoji-cli/package.nix
+++ b/pkgs/by-name/gi/gitmoji-cli/package.nix
@@ -6,6 +6,7 @@
 , nodejs
 , prefetch-yarn-deps
 , yarn
+, testers
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -57,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
     yarn --offline --production install
 
     mkdir -p "$out/lib/node_modules/gitmoji-cli"
-    cp -r lib node_modules "$out/lib/node_modules/gitmoji-cli"
+    cp -r lib node_modules package.json "$out/lib/node_modules/gitmoji-cli"
 
     makeWrapper "${nodejs}/bin/node" "$out/bin/gitmoji" \
       --add-flags "$out/lib/node_modules/gitmoji-cli/lib/cli.js"
@@ -65,6 +66,12 @@ stdenv.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
+  passthru.tests = {
+    version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+    };
+  };
+
   meta = {
     description = "Gitmoji client for using emojis on commit messages";
     homepage = "https://github.com/carloscuesta/gitmoji-cli";
diff --git a/pkgs/by-name/gl/glide-media-player/package.nix b/pkgs/by-name/gl/glide-media-player/package.nix
new file mode 100644
index 0000000000000..dc2475c768d60
--- /dev/null
+++ b/pkgs/by-name/gl/glide-media-player/package.nix
@@ -0,0 +1,84 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, meson
+, ninja
+, rustc
+, cargo
+, wrapGAppsHook4
+, python3
+, libadwaita
+, graphene
+, gst_all_1
+, glib-networking
+, darwin
+, libsoup_3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "glide-media-player";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "philn";
+    repo = "glide";
+    rev = version;
+    hash = "sha256-dIXuWaoTeyVBhzr6VWxYBsn+CnUYG/KzhzNJtLLdRuI=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-azvxW40fuKuF/N0qwzofFk1bZiNxyTN6YBFU5qHQkCA=";
+  };
+
+  postPatch = ''
+    substituteInPlace scripts/meson_post_install.py \
+      --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
+    patchShebangs --build scripts/meson_post_install.py
+  '' + lib.optionalString stdenv.isDarwin ''
+    sed -i "/wayland,x11egl,x11glx/d" meson.build
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    rustPlatform.cargoSetupHook
+    rustc
+    cargo
+    wrapGAppsHook4
+    python3
+  ];
+
+  buildInputs = [
+    libadwaita
+    graphene
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-good
+    glib-networking
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk_11_0.frameworks.IOKit
+  ];
+
+  # FIXME: gst-plugins-good missing libsoup breaks streaming
+  # (https://github.com/nixos/nixpkgs/issues/271960)
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libsoup_3 ]}")
+  '';
+
+  meta = with lib; {
+    description = "Linux/macOS media player based on GStreamer and GTK";
+    homepage = "https://philn.github.io/glide";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aleksana ];
+    mainProgram = "glide";
+    platforms = platforms.unix;
+    # error: could not find system library 'gstreamer-gl-1.0' required by the 'gstreamer-gl-sys' crate
+    broken = stdenv.isDarwin && stdenv.isx86_64;
+  };
+}
diff --git a/pkgs/by-name/kd/kdsingleapplication/package.nix b/pkgs/by-name/kd/kdsingleapplication/package.nix
index 22522dd6dc97c..7994435b6a604 100644
--- a/pkgs/by-name/kd/kdsingleapplication/package.nix
+++ b/pkgs/by-name/kd/kdsingleapplication/package.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "KDSingleApplication";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "KDAB";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5YprRbfiFI2UGMJqDf+3VDwXV904USEpMEpoNm0g7KY=";
+    hash = "sha256-Ymm+qOZMWULg7u5xEpGzcAfIrbWBQ3jsndnFSnh6/PA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/by-name/li/lint-staged/package.nix b/pkgs/by-name/li/lint-staged/package.nix
index c93044c71a9f8..e2faec3d3fdb7 100644
--- a/pkgs/by-name/li/lint-staged/package.nix
+++ b/pkgs/by-name/li/lint-staged/package.nix
@@ -2,16 +2,16 @@
 
 buildNpmPackage rec {
   pname = "lint-staged";
-  version = "14.0.1";
+  version = "15.2.0";
 
   src = fetchFromGitHub {
     owner = "okonet";
     repo = "lint-staged";
     rev = "v${version}";
-    hash = "sha256-xuHrxi/1zfeY2dd625iLDNJFoNO28JJrPvmECdqeZXk=";
+    hash = "sha256-Vziz8pV3pd1Rp6X6mHzyD22Z3q5LJJTXQ8kFuHpVgKc=";
   };
 
-  npmDepsHash = "sha256-4lyTBmcX5k//kbFHmzbOQJp+Jd9TPY7bzm51QuiXUzE=";
+  npmDepsHash = "sha256-BKgncl53MKFDASXo6I2Vn3v54iTL/h9gykJ3PWNUGQU=";
 
   dontNpmBuild = true;
 
diff --git a/pkgs/by-name/mu/multirun/package.nix b/pkgs/by-name/mu/multirun/package.nix
new file mode 100644
index 0000000000000..4f59a8bd73281
--- /dev/null
+++ b/pkgs/by-name/mu/multirun/package.nix
@@ -0,0 +1,30 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "multirun";
+  version = "1.1.3";
+
+  src = fetchFromGitHub {
+    owner = "nicolas-van";
+    repo = "multirun";
+    rev = version;
+    hash = "sha256-I95nxZD65tHiok4MzsGG7gyaxPHbqQLuRWdHUPNhLu8=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  meta = with lib; {
+    description = "A minimalist init process designed for Docker";
+    homepage = "https://github.com/nicolas-van/multirun";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nickcao ];
+    mainProgram = "multirun";
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix b/pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix
new file mode 100644
index 0000000000000..a6317b1f7b288
--- /dev/null
+++ b/pkgs/by-name/nl/nlohmann_json_schema_validator/package.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, nlohmann_json
+, cmake
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "nlohmann_json_schema_validator";
+  version = "2.3.0";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "pboettch";
+    repo = "json-schema-validator";
+    rev = finalAttrs.version;
+    hash = "sha256-Ybr5dNmjBBPTYPvgorJ6t2+zvAjxYQISWXJmgUVHBVE=";
+  };
+
+  buildInputs = [ nlohmann_json ];
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    description = "JSON schema validator for JSON for Modern C++";
+    homepage = "https://github.com/pboettch/json-schema-validator";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ br337 ];
+    platforms = lib.platforms.all;
+  };
+})
diff --git a/pkgs/by-name/op/opensearch-cli/package.nix b/pkgs/by-name/op/opensearch-cli/package.nix
new file mode 100644
index 0000000000000..ce0a671358045
--- /dev/null
+++ b/pkgs/by-name/op/opensearch-cli/package.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
+
+buildGoModule rec {
+  pname = "opensearch-cli";
+  version = "1.2.0";
+  src = fetchFromGitHub {
+    repo = "opensearch-cli";
+    owner = "opensearch-project";
+    rev = version;
+    hash = "sha256-Ah64a9hpc2tnIXiwxg/slE6fUTAoHv9koNmlUHrVj/s=";
+  };
+
+  vendorHash = "sha256-r3Bnud8pd0Z9XmGkj9yxRW4U/Ry4U8gvVF4pAdN14lQ=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    export HOME="$(mktemp -d)"
+    installShellCompletion --cmd opensearch-cli \
+      --bash <($out/bin/opensearch-cli completion bash) \
+      --zsh <($out/bin/opensearch-cli completion zsh) \
+      --fish <($out/bin/opensearch-cli completion fish)
+  '';
+
+  meta = {
+    description = "A full-featured command line interface (CLI) for OpenSearch.";
+    homepage = "https://github.com/opensearch-project/opensearch-cli";
+    license = lib.licenses.asl20;
+    mainProgram = "opensearch-cli";
+    maintainers = with lib.maintainers; [ shyim ];
+    platforms = lib.platforms.unix;
+    sourceProvenance = with lib.sourceTypes; [ fromSource ];
+  };
+}
diff --git a/pkgs/by-name/ov/overskride/package.nix b/pkgs/by-name/ov/overskride/package.nix
new file mode 100644
index 0000000000000..9ca167dd37ea5
--- /dev/null
+++ b/pkgs/by-name/ov/overskride/package.nix
@@ -0,0 +1,66 @@
+{ lib, fetchFromGitHub, rustPlatform, cargo, rustc, meson, ninja
+, pkg-config, wrapGAppsHook4, desktop-file-utils, appstream-glib
+, blueprint-compiler, dbus, gtk4, libadwaita, bluez, libpulseaudio }: let
+
+owner = "kaii-lb";
+name = "overskride";
+version = "0.5.6";
+
+in rustPlatform.buildRustPackage {
+
+  pname = name;
+  inherit version;
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo = name;
+    rev = "v${version}";
+    hash = "sha256-syQzHHT0s15oj8Yl2vhgyXlPI8UxOqIXGDqFeUc/dJQ=";
+  };
+
+  cargoHash = "sha256-NEsqVfKZqXSLieRO0BvQGdggmXXYO15qVhbfgAFATPc=";
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook4
+    desktop-file-utils
+    appstream-glib
+    blueprint-compiler
+    meson
+    ninja
+    cargo
+    rustc
+  ];
+
+  buildInputs = [ dbus gtk4 libadwaita bluez libpulseaudio ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    meson setup build --prefix $out && cd build
+    meson compile && meson devenv
+
+    runHook postBuild
+  '';
+
+  # The "Validate appstream file" test fails.
+  # TODO: This appears to have been fixed upstream
+  # so checks should be enabled with the next version.
+  doCheck = false;
+
+  preFixup = ''
+    glib-compile-schemas $out/share/gsettings-schemas/${name}-${version}/glib-2.0/schemas
+  '';
+
+  meta = with lib; {
+    description =
+      "A Bluetooth and Obex client that is straight to the point, DE/WM agnostic, and beautiful";
+    homepage = "https://github.com/${owner}/${name}";
+    changelog = "https://github.com/${owner}/${name}/blob/v${version}/CHANGELOG.md";
+    license = licenses.gpl3Only;
+    mainProgram = name;
+    maintainers = with maintainers; [ mrcjkb ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/by-name/pa/pacproxy/package.nix b/pkgs/by-name/pa/pacproxy/package.nix
new file mode 100644
index 0000000000000..9b6538b1c85c2
--- /dev/null
+++ b/pkgs/by-name/pa/pacproxy/package.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "pacproxy";
+  version = "2.0.5";
+
+  src = fetchFromGitHub {
+    owner = "williambailey";
+    repo = "pacproxy";
+    rev = "v${version}";
+    hash = "sha256-oDSptPihrDIiTCgcP4t2J3vJBNGMViyPAAmBv4ynLNU=";
+  };
+
+  vendorHash = "sha256-0Go+xwzaT1qt+cJfcPkC8ft3eB/OZCvOi2Pnn/A/rtQ=";
+
+  meta = with lib; {
+    description = "A no-frills local HTTP proxy server powered by a proxy auto-config (PAC) file";
+    homepage = "https://github.com/williambailey/pacproxy";
+    changelog = "https://github.com/williambailey/pacproxy/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ terlar ];
+    mainProgram = "pacproxy";
+  };
+}
diff --git a/pkgs/by-name/qu/quickjs-ng/package.nix b/pkgs/by-name/qu/quickjs-ng/package.nix
new file mode 100644
index 0000000000000..13e728b4b66b3
--- /dev/null
+++ b/pkgs/by-name/qu/quickjs-ng/package.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, cmake
+, fetchFromGitHub
+, testers
+, texinfo
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "quickjs-ng";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "quickjs-ng";
+    repo = "quickjs";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-4nFc9xdxrfRWeOY9VNQAI4Ph7G1GMnw06XZiO6xA72o=";
+  };
+
+  outputs = [ "bin" "out" "dev" "doc" "info" ];
+
+  nativeBuildInputs = [
+    cmake
+    texinfo
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    (lib.cmakeBool "BUILD_STATIC_QJS_EXE" stdenv.hostPlatform.isStatic)
+  ];
+
+  postInstall = ''
+    (cd ../doc
+     makeinfo --output quickjs.info quickjs.texi
+     install -Dt $info/share/info/ quickjs.info)
+  '';
+
+  passthru.tests = {
+    version = testers.testVersion {
+      package = finalAttrs.finalPackage;
+      command = "qjs --help || true";
+    };
+  };
+
+  meta = with lib; {
+    description = "A mighty JavaScript engine";
+    homepage = "https://github.com/quickjs-ng/quickjs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ marsam ];
+    platforms = platforms.all;
+    mainProgram = "qjs";
+  };
+})
diff --git a/pkgs/by-name/ra/raspberrypi-eeprom/package.nix b/pkgs/by-name/ra/raspberrypi-eeprom/package.nix
new file mode 100644
index 0000000000000..796010d687ceb
--- /dev/null
+++ b/pkgs/by-name/ra/raspberrypi-eeprom/package.nix
@@ -0,0 +1,72 @@
+{ stdenvNoCC
+, lib
+, fetchFromGitHub
+, makeWrapper
+, python3
+, binutils-unwrapped
+, findutils
+, gawk
+, kmod
+, pciutils
+, libraspberrypi
+}:
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "raspberrypi-eeprom";
+  version = "2023.12.06-2712";
+
+  src = fetchFromGitHub {
+    owner = "raspberrypi";
+    repo = "rpi-eeprom";
+    rev = "refs/tags/v${finalAttrs.version}";
+    hash = "sha256-bX+WSWj8Lk0S9GgauJsqElur+AAp5JB8LMEstB6aRGo=";
+  };
+
+  buildInputs = [ python3 ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  postPatch = ''
+    # Don't try to verify md5 signatures from /var/lib/dpkg and
+    # fix path to the configuration.
+    substituteInPlace rpi-eeprom-update \
+      --replace 'IGNORE_DPKG_CHECKSUMS=''${LOCAL_MODE}' 'IGNORE_DPKG_CHECKSUMS=1' \
+      --replace '/etc/default' '/etc'
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp rpi-eeprom-config rpi-eeprom-update rpi-eeprom-digest "$out/bin"
+
+    mkdir -p "$out/lib/firmware/raspberrypi"
+    for dirname in firmware-*; do
+        dirname_suffix="''${dirname/#firmware-}"
+        cp -rP "$dirname" "$out/lib/firmware/raspberrypi/bootloader-$dirname_suffix"
+    done
+  '';
+
+  fixupPhase = ''
+    patchShebangs $out/bin
+    for i in rpi-eeprom-update rpi-eeprom-config; do
+      wrapProgram $out/bin/$i \
+        --set FIRMWARE_ROOT "$out/lib/firmware/raspberrypi/bootloader" \
+        ${lib.optionalString stdenvNoCC.isAarch64 "--set VCMAILBOX ${libraspberrypi}/bin/vcmailbox"} \
+        --prefix PATH : "${lib.makeBinPath ([
+          binutils-unwrapped
+          findutils
+          gawk
+          kmod
+          pciutils
+          (placeholder "out")
+        ] ++ lib.optionals stdenvNoCC.isAarch64 [
+          libraspberrypi
+        ])}"
+    done
+  '';
+
+  meta = with lib; {
+    description = "Installation scripts and binaries for the closed sourced Raspberry Pi 4 and 5 bootloader EEPROMs";
+    homepage = "https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-eeprom";
+    license = with licenses; [ bsd3 unfreeRedistributableFirmware ];
+    maintainers = with maintainers; [ das_j Luflosi ];
+    platforms = platforms.linux;
+  };
+})
diff --git a/pkgs/by-name/rs/rspamd-trainer/package.nix b/pkgs/by-name/rs/rspamd-trainer/package.nix
new file mode 100644
index 0000000000000..0479b8f07da40
--- /dev/null
+++ b/pkgs/by-name/rs/rspamd-trainer/package.nix
@@ -0,0 +1,59 @@
+{ lib
+, python3
+, python3Packages
+, fetchFromGitLab
+, makeWrapper
+, stdenv
+, fetchpatch
+, rspamd
+}:
+
+python3Packages.buildPythonApplication {
+  pname = "rspamd-trainer";
+  version = "unstable-2023-11-27";
+  format = "pyproject";
+
+  src = fetchFromGitLab {
+    owner = "onlime";
+    repo = "rspamd-trainer";
+    rev = "eb6639a78a019ade6781f3a8418eddc030f8fa14";
+    hash = "sha256-Me6WZhQ6SvDGGBQQtSA/7bIfKtsz6D5rvQeU12sVzgY=";
+  };
+
+  patches = [
+    # Refactor pyproject.toml
+    # https://gitlab.com/onlime/rspamd-trainer/-/merge_requests/2
+    (fetchpatch {
+      url = "https://gitlab.com/onlime/rspamd-trainer/-/commit/8824bfb9a9826988a90a401b8e51c20f5366ed70.patch";
+      hash = "sha256-qiXfwMUfM/iV+fHba8xdwQD92RQz627+HdUTgwgRZdc=";
+      name = "refactor_pyproject.patch";
+    })
+  ];
+
+  postPatch = ''
+    # Fix module path not applied by patch
+    mv helper src/
+    touch src/helper/__init__.py
+    mv settings.py src/rspamd_trainer/
+    sed -i 's/from settings/from .settings/' src/rspamd_trainer/run.py
+
+    # Fix rspamc path
+    sed -i "s|/usr/bin/rspamc|${rspamd}/bin/rspamc|" src/rspamd_trainer/run.py
+  '';
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    python-dotenv
+    imapclient
+  ];
+
+  meta = {
+    homepage = "https://gitlab.com/onlime/rspamd-trainer";
+    description = "Grabs messages from a spam mailbox via IMAP and feeds them to Rspamd for training";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/by-name/sc/scalingo/package.nix b/pkgs/by-name/sc/scalingo/package.nix
index 3b5682846987f..91139a255a161 100644
--- a/pkgs/by-name/sc/scalingo/package.nix
+++ b/pkgs/by-name/sc/scalingo/package.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "scalingo";
-  version = "1.29.1";
+  version = "1.30.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "cli";
     rev = version;
-    hash = "sha256-xBf+LIwlpauJd/0xJIQdfEa0rxph3BJPuMY4+0s+Bb4=";
+    hash = "sha256-vgkVxQK18RBIhhL9gyuH9kmCueJFDZByhy0FE4JuVO8=";
   };
 
   vendorHash = null;
diff --git a/pkgs/by-name/sp/spirit/package.nix b/pkgs/by-name/sp/spirit/package.nix
new file mode 100644
index 0000000000000..bdff50a531930
--- /dev/null
+++ b/pkgs/by-name/sp/spirit/package.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule {
+  pname = "spirit";
+  version = "unstable-2023-12-15";
+
+  src = fetchFromGitHub {
+    owner = "cashapp";
+    repo = "spirit";
+    rev = "3abce3e15c01b18e7a9fc12e19ad5c0f541d1ffd";
+    hash = "sha256-B4z5bdb0hRx7U2RLTRDxRYt1ltACNXz/B6qAs4qjtAo=";
+  };
+
+  vendorHash = "sha256-hKTQvTWd48mnVODWE6W541TPuxCyELLgpz96XB29kec=";
+
+  subPackages = [ "cmd/spirit" ];
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/cashapp/spirit";
+    description = "Online schema change tool for MySQL";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
+    mainProgram = "spirit";
+  };
+}
diff --git a/pkgs/by-name/ti/tigerbeetle/package.nix b/pkgs/by-name/ti/tigerbeetle/package.nix
new file mode 100644
index 0000000000000..8a3ebbb12bd14
--- /dev/null
+++ b/pkgs/by-name/ti/tigerbeetle/package.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, zig_0_11
+, testers
+, tigerbeetle
+, nix-update-script
+}:
+stdenv.mkDerivation (finalAttrs: {
+  pname = "tigerbeetle";
+  version = "0.14.171";
+
+  src = fetchFromGitHub {
+    owner = "tigerbeetle";
+    repo = "tigerbeetle";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-MjsNQarRXsrWKJZ2aBi/Wc2HAYm3isLBNw81a75+nhc=";
+  };
+
+  nativeBuildInputs = [ zig_0_11.hook ];
+
+  zigBuildFlags = [
+    "-Dgit-commit=0000000000000000000000000000000000000000"
+    "-Dversion=${finalAttrs.version}"
+  ];
+
+  passthru = {
+    tests.version = testers.testVersion {
+      package = tigerbeetle;
+      command = "tigerbeetle version";
+    };
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    homepage = "https://tigerbeetle.com/";
+    description = "A financial accounting database designed to be distributed and fast";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ danielsidhion ];
+    platforms = lib.platforms.unix;
+    mainProgram = "tigerbeetle";
+  };
+})
diff --git a/pkgs/by-name/ut/ut/package.nix b/pkgs/by-name/ut/ut/package.nix
index 2ed2bdde444fb..3b4a7429d902c 100644
--- a/pkgs/by-name/ut/ut/package.nix
+++ b/pkgs/by-name/ut/ut/package.nix
@@ -6,7 +6,7 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "ut";
-  version = "2.0.0";
+  version = "2.0.1";
 
   cmakeFlags = [
     "-DBOOST_UT_ALLOW_CPM_USE=OFF"
@@ -16,7 +16,7 @@ stdenv.mkDerivation (finalAttrs: {
     owner = "boost-ext";
     repo = "ut";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-nMRhVtbnORMnZxIdrv6pvfj8/fv/buh4Y7mz0cr4p+E=";
+    hash = "sha256-4OZvDcUtw6x/E9yLRQukfn6PskxtVBrsLPP48yo/lN0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/xp/xplr/package.nix b/pkgs/by-name/xp/xplr/package.nix
new file mode 100644
index 0000000000000..c4aa17a32a9c7
--- /dev/null
+++ b/pkgs/by-name/xp/xplr/package.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "xplr";
+  version = "0.21.3";
+
+  src = fetchFromGitHub {
+    owner = "sayanarijit";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-lqFhLCOLiuSQWhbcZUEj2xFRlZ+x1ZTVc8IJw7tJjhE=";
+  };
+
+  cargoHash = "sha256-3hrpg2cMvIuFy6mH1/1igIpU4nbzFQLCAhiIRZbTuaI=";
+
+  # fixes `thread 'main' panicked at 'cannot find strip'` on x86_64-darwin
+  env = lib.optionalAttrs (stdenv.isx86_64 && stdenv.isDarwin) {
+    TARGET_STRIP = "${stdenv.cc.targetPrefix}strip";
+  };
+
+  # error: linker `aarch64-linux-gnu-gcc` not found
+  postPatch = ''
+    rm .cargo/config
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/applications
+    cp assets/desktop/xplr.desktop $out/share/applications
+
+    mkdir -p $out/share/icons/hicolor/scalable/apps
+    cp assets/icon/xplr.svg $out/share/icons/hicolor/scalable/apps
+
+    for size in 16 32 64 128; do
+      icon_dir=$out/share/icons/hicolor/''${size}x$size/apps
+      mkdir -p $icon_dir
+      cp assets/icon/xplr$size.png $icon_dir/xplr.png
+    done
+  '';
+
+  meta = with lib; {
+    description = "A hackable, minimal, fast TUI file explorer";
+    homepage = "https://xplr.dev";
+    changelog = "https://github.com/sayanarijit/xplr/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sayanarijit suryasr007 thehedgeh0g mimame figsoda ];
+  };
+}