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/_2/_2ship2harkinian/package.nix2
-rw-r--r--pkgs/by-name/ar/argc/package.nix6
-rw-r--r--pkgs/by-name/ar/artalk/package.nix2
-rw-r--r--pkgs/by-name/ca/cano/allow-read-only-store-help-page.patch42
-rw-r--r--pkgs/by-name/ca/cano/package.nix55
-rw-r--r--pkgs/by-name/ce/certmgr/package.nix4
-rw-r--r--pkgs/by-name/cl/clang-uml/package.nix4
-rw-r--r--pkgs/by-name/cu/cue/package.nix6
-rw-r--r--pkgs/by-name/da/davis/package.nix5
-rw-r--r--pkgs/by-name/db/dbgate/package.nix8
-rw-r--r--pkgs/by-name/fa/fail2ban/package.nix3
-rw-r--r--pkgs/by-name/fl/flaca/package.nix46
-rw-r--r--pkgs/by-name/fl/flexget/package.nix4
-rw-r--r--pkgs/by-name/fl/flip-link/package.nix33
-rw-r--r--pkgs/by-name/fo/forgejo/generic.nix8
-rw-r--r--pkgs/by-name/ge/gerrit/package.nix5
-rw-r--r--pkgs/by-name/go/gotenberg/package.nix4
-rw-r--r--pkgs/by-name/gu/guix/package.nix5
-rw-r--r--pkgs/by-name/ha/handheld-daemon/package.nix4
-rw-r--r--pkgs/by-name/li/libmrss/package.nix43
-rw-r--r--pkgs/by-name/li/libnxml/package.nix30
-rw-r--r--pkgs/by-name/lo/logdy/package.nix60
-rw-r--r--pkgs/by-name/md/mdbook-alerts/package.nix6
-rw-r--r--pkgs/by-name/mo/mongodb-ce/package.nix131
-rw-r--r--pkgs/by-name/mo/moonlight-qt/package.nix2
-rw-r--r--pkgs/by-name/my/mycelium/package.nix3
-rw-r--r--pkgs/by-name/na/nar-serve/package.nix3
-rw-r--r--pkgs/by-name/ne/nexus/package.nix5
-rw-r--r--pkgs/by-name/no/noto-fonts/package.nix3
-rw-r--r--pkgs/by-name/np/nph/lock.json3
-rw-r--r--pkgs/by-name/np/nph/package.nix36
-rw-r--r--pkgs/by-name/nz/nzbhydra2/package.nix5
-rw-r--r--pkgs/by-name/op/openfga-cli/package.nix6
-rw-r--r--pkgs/by-name/po/polybar/package.nix4
-rw-r--r--pkgs/by-name/pr/private-gpt/package.nix6
-rw-r--r--pkgs/by-name/pr/prometheus-restic-exporter/package.nix4
-rw-r--r--pkgs/by-name/ra/railway/package.nix6
-rw-r--r--pkgs/by-name/rs/rspamd-trainer/package.nix3
-rw-r--r--pkgs/by-name/ta/tana/package.nix4
-rw-r--r--pkgs/by-name/te/telescope/package.nix4
-rw-r--r--pkgs/by-name/ui/uiua/package.nix6
-rw-r--r--pkgs/by-name/ve/veloren/Cargo.lock8
-rw-r--r--pkgs/by-name/ve/veloren/package.nix3
-rw-r--r--pkgs/by-name/wa/wastebin/package.nix5
-rw-r--r--pkgs/by-name/wa/watchdogd/package.nix3
-rw-r--r--pkgs/by-name/wo/workout-tracker/package.nix5
-rw-r--r--pkgs/by-name/ya/yandex-cloud/sources.json22
-rw-r--r--pkgs/by-name/yo/your_spotify/package.nix4
48 files changed, 590 insertions, 79 deletions
diff --git a/pkgs/by-name/_2/_2ship2harkinian/package.nix b/pkgs/by-name/_2/_2ship2harkinian/package.nix
index 583e2864a112..2af660495cdd 100644
--- a/pkgs/by-name/_2/_2ship2harkinian/package.nix
+++ b/pkgs/by-name/_2/_2ship2harkinian/package.nix
@@ -77,7 +77,7 @@ let
       rev = "v${version}";
       hash = "sha256-HTi2FKzKCbRaP13XERUmHkJgw8IfKaRJvsK3+YxFFdc=";
     };
-    buildInputs = prev.buildInputs ++ [ pkg-config ];
+    nativeBuildInputs = prev.nativeBuildInputs ++ [ pkg-config ];
     patches = (prev.patches or [ ]) ++ [
       (fetchpatch {
         name = "stormlib-optimizations.patch";
diff --git a/pkgs/by-name/ar/argc/package.nix b/pkgs/by-name/ar/argc/package.nix
index 3fceb4af1e46..df9b4f6780e1 100644
--- a/pkgs/by-name/ar/argc/package.nix
+++ b/pkgs/by-name/ar/argc/package.nix
@@ -14,16 +14,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "argc";
-  version = "1.20.0";
+  version = "1.20.1";
 
   src = fetchFromGitHub {
     owner = "sigoden";
     repo = "argc";
     rev = "v${version}";
-    hash = "sha256-Oh2vV4Dr4suVEGrwGNyzVlKrOh+lXwdEwDPNzFzqmOo=";
+    hash = "sha256-pOkZmk7boFPqHHBDet/on6Y8V2Ik+hpqN0cUtY0BiR0=";
   };
 
-  cargoHash = "sha256-3zVO0ZAL+npijGg6/Idb7MD80WW5vi1qxbZqCwwhmIU=";
+  cargoHash = "sha256-FxhDnTy/KAeN0Zd5I12EUgXRc0VhHN0lRm5DQyCinyw=";
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optional (!canExecuteHost) buildPackages.argc;
 
diff --git a/pkgs/by-name/ar/artalk/package.nix b/pkgs/by-name/ar/artalk/package.nix
index ff2e0be2abdc..a9918059d6ad 100644
--- a/pkgs/by-name/ar/artalk/package.nix
+++ b/pkgs/by-name/ar/artalk/package.nix
@@ -7,6 +7,7 @@
   installShellFiles,
   stdenv,
   testers,
+  nixosTests,
 }:
 buildGoModule rec {
   pname = "artalk";
@@ -56,6 +57,7 @@ buildGoModule rec {
 
   passthru.tests = {
     version = testers.testVersion { package = artalk; };
+    inherit (nixosTests) artalk;
   };
 
   meta = {
diff --git a/pkgs/by-name/ca/cano/allow-read-only-store-help-page.patch b/pkgs/by-name/ca/cano/allow-read-only-store-help-page.patch
new file mode 100644
index 000000000000..174d15fc82c6
--- /dev/null
+++ b/pkgs/by-name/ca/cano/allow-read-only-store-help-page.patch
@@ -0,0 +1,42 @@
+diff --git a/src/main.c b/src/main.c
+index 993a76f..de5b2c5 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -6,12 +6,8 @@ _Static_assert(sizeof(string_modes)/sizeof(*string_modes) == MODE_COUNT, "Number
+ char *get_help_page(char *page) {
+     if (page == NULL) return NULL;
+ 
+-    char *env = getenv("HOME");
+-    if(env == NULL) CRASH("could not get HOME");
+-
+-    char *help_page = calloc(128, sizeof(char));
+-    if (help_page == NULL) CRASH("could not calloc memory for help page");
+-    snprintf(help_page, 128, "%s/.local/share/cano/help/%s", env, page);
++    char *help_page;
++    asprintf(&help_page, "@help@/%s", page);
+ 
+     // check if file exists
+     struct stat st;
+diff --git a/src/tools.c b/src/tools.c
+index 220d7a1..4ce211e 100644
+--- a/src/tools.c
++++ b/src/tools.c
+@@ -63,6 +63,9 @@ void free_undo_stack(Undo_Stack *undo) {
+ 
+ void handle_save(Buffer *buffer) {
+     FILE *file = fopen(buffer->filename, "w");
++
++    if (file == NULL)
++        return;
+     fwrite(buffer->data.data, buffer->data.count, sizeof(char), file);
+     fclose(file);
+ }
+@@ -72,7 +75,7 @@ Buffer *load_buffer_from_file(char *filename) {
+     size_t filename_s = strlen(filename)+1;
+     buffer->filename = calloc(filename_s, sizeof(char));
+     strncpy(buffer->filename, filename, filename_s);
+-    FILE *file = fopen(filename, "a+");
++    FILE *file = fopen(filename, "r");
+     if(file == NULL) CRASH("Could not open file");
+     fseek(file, 0, SEEK_END);
+     size_t length = ftell(file);
diff --git a/pkgs/by-name/ca/cano/package.nix b/pkgs/by-name/ca/cano/package.nix
index 2c4d148c70e2..5702ce5fb19f 100644
--- a/pkgs/by-name/ca/cano/package.nix
+++ b/pkgs/by-name/ca/cano/package.nix
@@ -1,34 +1,55 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, gnumake
-, ncurses
+{
+  stdenv,
+  lib,
+  fetchFromGitHub,
+  installShellFiles,
+  ncurses,
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "cano";
-  version = "0.1.0-alpha";
+  version = "0.2.0-alpha";
 
   src = fetchFromGitHub {
     owner = "CobbCoding1";
     repo = "Cano";
     rev = "v${finalAttrs.version}";
-    hash = "sha256-BKbBDN7xZwlNzw7UFgX+PD9UXbr9FtELo+PlbfSHyRY=";
+    hash = "sha256-OaWj0AKw3+sEhcAbIjgOLfxwCKRG6O1k+zSp0GnnFn8=";
   };
 
-  buildInputs = [ gnumake ncurses ];
-  hardeningDisable = [ "format" "fortify" ];
+  patches = [ ./allow-read-only-store-help-page.patch ];
+
+  postPatch = ''
+    substituteInPlace src/main.c \
+      --replace-fail "@help@" "${placeholder "out"}/share/help"
+  '';
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = [ ncurses ];
+
+  hardeningDisable = [
+    "format"
+    "fortify"
+  ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp build/cano $out/bin
+    runHook preInstall
+
+    install -Dm755 build/cano -t $out/bin
+
+    mkdir -p $out/share
+    cp -r docs/help $out/share
+    installManPage docs/cano.1
+
+    runHook postInstall
   '';
 
   meta = {
-     description = "Text Editor Written In C Using ncurses";
-     homepage = "https://github.com/CobbCoding1/Cano";
-     license = lib.licenses.asl20;
-     mainProgram = "Cano";
-     maintainers = with lib.maintainers; [ sigmanificient ];
-     platforms = lib.platforms.linux;
+    description = "Text Editor Written In C Using ncurses";
+    homepage = "https://github.com/CobbCoding1/Cano";
+    license = lib.licenses.asl20;
+    mainProgram = "Cano";
+    maintainers = with lib.maintainers; [ sigmanificient ];
+    platforms = lib.platforms.linux;
   };
 })
diff --git a/pkgs/by-name/ce/certmgr/package.nix b/pkgs/by-name/ce/certmgr/package.nix
index e5579125a2ca..1063b4f61096 100644
--- a/pkgs/by-name/ce/certmgr/package.nix
+++ b/pkgs/by-name/ce/certmgr/package.nix
@@ -1,6 +1,7 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, nixosTests
 }:
 
 buildGoModule rec {
@@ -18,6 +19,9 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
+  passthru.tests = { inherit (nixosTests) certmgr; };
+
+
   meta = with lib; {
     homepage = "https://cfssl.org/";
     description = "Cloudflare's automated certificate management using a CFSSL CA";
diff --git a/pkgs/by-name/cl/clang-uml/package.nix b/pkgs/by-name/cl/clang-uml/package.nix
index 9c037fb30be6..ec1f03499619 100644
--- a/pkgs/by-name/cl/clang-uml/package.nix
+++ b/pkgs/by-name/cl/clang-uml/package.nix
@@ -17,13 +17,13 @@
 }:
 stdenv.mkDerivation (finalAttrs: {
   pname = "clang-uml";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "bkryza";
     repo = "clang-uml";
     rev = finalAttrs.version;
-    hash = "sha256-ghnbOjVYw0zdFK/SDJ3sOObu6I7ROVNzYl1hovWju/Q=";
+    hash = "sha256-PEzTvwW/wUg8wgKjeNGbpgpP3SH2sVWRYc6o3gFjxx0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/cu/cue/package.nix b/pkgs/by-name/cu/cue/package.nix
index b2f8359419e0..d10db99f55ac 100644
--- a/pkgs/by-name/cu/cue/package.nix
+++ b/pkgs/by-name/cu/cue/package.nix
@@ -9,16 +9,16 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.9.2";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "cue-lang";
     repo = "cue";
     rev = "v${version}";
-    hash = "sha256-C3BvI43oo71y19ZRflqhKRQF7DwBBOV0yRlutv+W18g=";
+    hash = "sha256-GvReoBP8QCdrKxox8yPLZEk5YvTvwr7kflpS/jN8GTg=";
   };
 
-  vendorHash = "sha256-FsFignBh669E60S8l8siQHLzeSfB5X/XOHBXPMDX3Cg=";
+  vendorHash = "sha256-sLTpra7JwgF4l1UCrUtzQA4xrP4OqxBcZ1qEssBdFtk=";
 
   subPackages = [ "cmd/*" ];
 
diff --git a/pkgs/by-name/da/davis/package.nix b/pkgs/by-name/da/davis/package.nix
index 58b1bf099fe8..1fa809859387 100644
--- a/pkgs/by-name/da/davis/package.nix
+++ b/pkgs/by-name/da/davis/package.nix
@@ -2,6 +2,7 @@
   lib,
   fetchFromGitHub,
   php,
+  nixosTests,
 }:
 
 php.buildComposerProject (finalAttrs: {
@@ -25,6 +26,10 @@ php.buildComposerProject (finalAttrs: {
     rm -rf "$out/share"
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) davis;
+  };
+
   meta = {
     changelog = "https://github.com/tchapi/davis/releases/tag/v${finalAttrs.version}";
     homepage = "https://github.com/tchapi/davis";
diff --git a/pkgs/by-name/db/dbgate/package.nix b/pkgs/by-name/db/dbgate/package.nix
index 5a1cea91a228..ab62dee5f391 100644
--- a/pkgs/by-name/db/dbgate/package.nix
+++ b/pkgs/by-name/db/dbgate/package.nix
@@ -7,21 +7,21 @@
 }:
 let
   pname = "dbgate";
-  version = "5.3.1";
+  version = "5.3.4";
   src =
     fetchurl
       {
         aarch64-linux = {
           url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_arm64.AppImage";
-          hash = "sha256-Qz0VA2pHT8muw9RdLg7Y3w3mJ3ubFnqf4dmfdZdnJHI=";
+          hash = "sha256-szG0orYBB1+DE9Vwjq0sluIaLDBlWOScKuruJR4iQKg=";
         };
         x86_64-linux = {
           url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-linux_x86_64.AppImage";
-          hash = "sha256-H/2Tb6ZnO6LJx+rv/ADdItaRMP95x4G3lPNK0sbZn9I=";
+          hash = "sha256-C0BJ3dydaeV8ypc8c0EDiMBhvByLAKuKTGHOozqbd+w=";
         };
         x86_64-darwin = {
           url = "https://github.com/dbgate/dbgate/releases/download/v${version}/dbgate-${version}-mac_x64.dmg";
-          hash = "sha256-gZrfv9qe2arytVgiYtX9uwfwC4Z30SHEDiBUXcpF968=";
+          hash = "sha256-WwUpFFeZ9NmosHZqrHCbsz673fSbdQvwxhEvz/6JJtw=";
         };
       }
       .${stdenv.system} or (throw "dbgate: ${stdenv.system} is unsupported.");
diff --git a/pkgs/by-name/fa/fail2ban/package.nix b/pkgs/by-name/fa/fail2ban/package.nix
index 00ea39b40a2b..6425f814f2d5 100644
--- a/pkgs/by-name/fa/fail2ban/package.nix
+++ b/pkgs/by-name/fa/fail2ban/package.nix
@@ -4,6 +4,7 @@
 , fetchpatch
 , python3
 , installShellFiles
+, nixosTests
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -87,6 +88,8 @@ python3.pkgs.buildPythonApplication rec {
       rm -r "${sitePackages}/usr"
     '';
 
+  passthru.tests = { inherit (nixosTests) fail2ban; };
+
   meta = with lib; {
     homepage = "https://www.fail2ban.org/";
     description = "Program that scans log files for repeated failing login attempts and bans IP addresses";
diff --git a/pkgs/by-name/fl/flaca/package.nix b/pkgs/by-name/fl/flaca/package.nix
new file mode 100644
index 000000000000..bec47b7b302c
--- /dev/null
+++ b/pkgs/by-name/fl/flaca/package.nix
@@ -0,0 +1,46 @@
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  fetchurl,
+  runCommand,
+  lndir,
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "flaca";
+  version = "3.1.6";
+
+  src =
+    let
+      source = fetchFromGitHub {
+        owner = "Blobfolio";
+        repo = pname;
+        rev = "v${version}";
+        hash = "sha256-mNCb9d7/nRWSkiir2bYkslw/F2GmjvE0cPi7HhzEN68=";
+      };
+      lockFile = fetchurl {
+        url = "https://github.com/Blobfolio/flaca/releases/download/v${version}/Cargo.lock";
+        hash = "sha256-tyxTgYEGROCtoiKPX57pF32UcfpDCuMdFSttZu++ju8=";
+      };
+    in
+    runCommand "source-with-lock" { nativeBuildInputs = [ lndir ]; } ''
+      mkdir -p $out
+      ln -s ${lockFile} $out/Cargo.lock
+      lndir -silent ${source} $out
+    '';
+
+  nativeBuildInputs = [ rustPlatform.bindgenHook ];
+
+  cargoHash = "sha256-YYNWCJT5ZT36v4u4P3gtW/osor6eIvR8leqlQHHZYMk=";
+
+  meta = with lib; {
+    description = "CLI tool to losslessly compress JPEG and PNG images";
+    longDescription = "A CLI tool for x86-64 Linux machines that simplifies the task of maximally, losslessly compressing JPEG and PNG images for use in production web environments";
+    homepage = "https://github.com/Blobfolio/flaca";
+    maintainers = with maintainers; [ zzzsy ];
+    platforms = platforms.linux;
+    license = licenses.wtfpl;
+    mainProgram = "flaca";
+  };
+}
diff --git a/pkgs/by-name/fl/flexget/package.nix b/pkgs/by-name/fl/flexget/package.nix
index e080f4cfdb22..79203498ec6e 100644
--- a/pkgs/by-name/fl/flexget/package.nix
+++ b/pkgs/by-name/fl/flexget/package.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.11.42";
+  version = "3.11.43";
   pyproject = true;
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "Flexget";
     repo = "Flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-wDZXSQlIE1qQz463roHp3jepSFMZGSJAPOhKpuXTmG8=";
+    hash = "sha256-KX7Bvu4rt+Q7x2XkBiZMngAgqRKYu90EVi2oQ21o5AI=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/fl/flip-link/package.nix b/pkgs/by-name/fl/flip-link/package.nix
new file mode 100644
index 000000000000..b4ba056ee3b4
--- /dev/null
+++ b/pkgs/by-name/fl/flip-link/package.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "flip-link";
+  version = "0.1.9";
+
+  src = fetchFromGitHub {
+    owner = "knurling-rs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-slidPVL0LAUtmCI2rlAwfGVUmB4WRF9bHqQhdgbO2oc=";
+  };
+
+  cargoHash = "sha256-x3JnqztoLol5dNMact/qMveQuvcMTg/jqHxW0lksB7Y=";
+
+  buildInputs = lib.optional stdenv.isDarwin libiconv;
+
+  checkFlags = [
+    # requires embedded toolchains
+    "--skip should_link_example_firmware::case_1_normal"
+    "--skip should_link_example_firmware::case_2_custom_linkerscript"
+    "--skip should_verify_memory_layout"
+  ];
+
+  meta = with lib; {
+    description = "Adds zero-cost stack overflow protection to your embedded programs";
+    mainProgram = "flip-link";
+    homepage = "https://github.com/knurling-rs/flip-link";
+    changelog = "https://github.com/knurling-rs/flip-link/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ FlorianFranzen newam ];
+  };
+}
diff --git a/pkgs/by-name/fo/forgejo/generic.nix b/pkgs/by-name/fo/forgejo/generic.nix
index 080789bec45e..a2a1e51850bc 100644
--- a/pkgs/by-name/fo/forgejo/generic.nix
+++ b/pkgs/by-name/fo/forgejo/generic.nix
@@ -17,8 +17,6 @@
 , nix-update-script
 , nixosTests
 , openssh
-, pam
-, pamSupport ? true
 , sqliteSupport ? true
 , xorg
 , runCommand
@@ -68,8 +66,6 @@ buildGoModule rec {
     makeWrapper
   ];
 
-  buildInputs = lib.optional pamSupport pam;
-
   nativeCheckInputs = [
     git
     openssh
@@ -83,8 +79,7 @@ buildGoModule rec {
     substituteInPlace modules/setting/server.go --subst-var data
   '';
 
-  tags = lib.optional pamSupport "pam"
-    ++ lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ];
+  tags = lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ];
 
   ldflags = [
     "-s"
@@ -115,7 +110,6 @@ buildGoModule rec {
       skippedTests = [
         "Test_SSHParsePublicKey/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time
         "Test_calcFingerprint/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time
-        "TestPamAuth" # we don't have PAM set up in the build sandbox
         "TestPassword" # requires network: api.pwnedpasswords.com
         "TestCaptcha" # requires network: hcaptcha.com
         "TestDNSUpdate" # requires network: release.forgejo.org
diff --git a/pkgs/by-name/ge/gerrit/package.nix b/pkgs/by-name/ge/gerrit/package.nix
index 1a905bd1fc39..c837ce497980 100644
--- a/pkgs/by-name/ge/gerrit/package.nix
+++ b/pkgs/by-name/ge/gerrit/package.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "gerrit";
@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
       "singleusergroup"
       "webhooks"
     ];
+    tests = {
+      inherit (nixosTests) gerrit;
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/by-name/go/gotenberg/package.nix b/pkgs/by-name/go/gotenberg/package.nix
index 40cb1e185bbd..92da454785b2 100644
--- a/pkgs/by-name/go/gotenberg/package.nix
+++ b/pkgs/by-name/go/gotenberg/package.nix
@@ -12,6 +12,7 @@
   makeFontsConf,
   liberation_ttf_v2,
   exiftool,
+  nixosTests,
   nix-update-script,
 }:
 let
@@ -81,6 +82,9 @@ buildGoModule rec {
   '';
 
   passthru.updateScript = nix-update-script { };
+  passthru.tests = {
+    inherit (nixosTests) gotenberg;
+  };
 
   meta = {
     description = "Converts numerous document formats into PDF files";
diff --git a/pkgs/by-name/gu/guix/package.nix b/pkgs/by-name/gu/guix/package.nix
index 8f9e4e4836b9..d3ea63a41311 100644
--- a/pkgs/by-name/gu/guix/package.nix
+++ b/pkgs/by-name/gu/guix/package.nix
@@ -29,6 +29,7 @@
 , bzip2
 , libgcrypt
 , sqlite
+, nixosTests
 
 , stateDir ? "/var"
 , storeDir ? "/gnu/store"
@@ -134,6 +135,10 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) guix;
+  };
+
   meta = with lib; {
     description = "Functional package manager with a Scheme interface";
     longDescription = ''
diff --git a/pkgs/by-name/ha/handheld-daemon/package.nix b/pkgs/by-name/ha/handheld-daemon/package.nix
index dbd20c286667..c0a289250704 100644
--- a/pkgs/by-name/ha/handheld-daemon/package.nix
+++ b/pkgs/by-name/ha/handheld-daemon/package.nix
@@ -8,14 +8,14 @@
 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "handheld-daemon";
-  version = "3.3.7";
+  version = "3.3.8";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "hhd-dev";
     repo = "hhd";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nRI1YrKBg7J14PQbWLLNaCI9p3v6Yl+Q506EOlSqqVc=";
+    hash = "sha256-15vG+e509CEagZ+G9FcfRmsdD8Jex8xUfdvEKlY+FaI=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/by-name/li/libmrss/package.nix b/pkgs/by-name/li/libmrss/package.nix
new file mode 100644
index 000000000000..176d65549282
--- /dev/null
+++ b/pkgs/by-name/li/libmrss/package.nix
@@ -0,0 +1,43 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  curl,
+  libnxml,
+  autoreconfHook,
+  pkg-config,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libmrss";
+  version = "0.19.4";
+
+  src = fetchFromGitHub {
+    owner = "bakulf";
+    repo = "libmrss";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-sllY0Q8Ct7XJn4A3N8xQCUqaHXubPoB49gBZS1vURBs=";
+  };
+
+  postPatch = ''
+    touch NEWS # https://github.com/bakulf/libmrss/issues/3
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  propagatedBuildInputs = [
+    curl
+    libnxml
+  ];
+
+  meta = {
+    homepage = "https://github.com/bakulf/libmrss";
+    description = "C library for parsing, writing and creating RSS/ATOM files or streams";
+    license = lib.licenses.lgpl2;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ sigmanificient ];
+  };
+})
diff --git a/pkgs/by-name/li/libnxml/package.nix b/pkgs/by-name/li/libnxml/package.nix
new file mode 100644
index 000000000000..2e9ddfc91ef0
--- /dev/null
+++ b/pkgs/by-name/li/libnxml/package.nix
@@ -0,0 +1,30 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  autoreconfHook,
+  curl,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "libnxml";
+  version = "0.18.5";
+
+  src = fetchFromGitHub {
+    owner = "bakulf";
+    repo = "libnxml";
+    rev = "refs/tags/${finalAttrs.version}";
+    hash = "sha256-6KI1bsfDgGJ4x8Wv7fcwCKm5AILa3jLnV53JY1g9B+M=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ curl ];
+
+  meta = {
+    homepage = "https://github.com/bakulf/libnxml";
+    description = "C library for parsing, writing and creating XML 1.0 and 1.1 files or streams";
+    license = lib.licenses.lgpl2;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ sigmanificient ];
+  };
+})
diff --git a/pkgs/by-name/lo/logdy/package.nix b/pkgs/by-name/lo/logdy/package.nix
new file mode 100644
index 000000000000..9b2de9f74fe4
--- /dev/null
+++ b/pkgs/by-name/lo/logdy/package.nix
@@ -0,0 +1,60 @@
+{
+  lib,
+  buildGoModule,
+  fetchFromGitHub,
+  installShellFiles,
+}:
+
+buildGoModule rec {
+  pname = "logdy";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "logdyhq";
+    repo = "logdy-core";
+    rev = "v${version}";
+    hash = "sha256-HlIl/4C1wheAxc0ReUN8xQrXJ0djoO7E0qhRwyFHEiE=";
+  };
+
+  vendorHash = "sha256-kFhcbBMymzlJ+2zw7l09LJfCdps26Id+VzOehqrLDWU=";
+
+  ldflags = [
+    "-s"
+    "-w"
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  # After the build this derivation will generate two binaries.
+  # The first one is getting renamed based on the documentation
+  # The second one is just to launch a demo. This functionality could be achieved with the first one
+  postInstall = ''
+    mv $out/bin/logdy-core $out/bin/logdy
+    rm -f $out/bin/example-app
+
+    installShellCompletion --cmd logdy \
+      --bash <($out/bin/logdy completion bash) \
+      --fish <($out/bin/logdy completion fish) \
+      --zsh <($out/bin/logdy completion zsh)
+  '';
+
+  checkFlags = [
+    "-skip=^TestClientLoad$" # index out of range
+  ];
+
+  meta = {
+    description = "Web based real-time log viewer";
+    longDescription = ''
+      Web based real-time log viewer.
+      Stream ANY content to a web UI with autogenerated filters.
+      Parse any format with TypeScript
+    '';
+    homepage = "https://github.com/logdyhq/logdy-core";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [
+      sigmanificient
+      ByteSudoer
+    ];
+    mainProgram = "logdy";
+  };
+}
diff --git a/pkgs/by-name/md/mdbook-alerts/package.nix b/pkgs/by-name/md/mdbook-alerts/package.nix
index eda9ce5fe974..10f46976dc1a 100644
--- a/pkgs/by-name/md/mdbook-alerts/package.nix
+++ b/pkgs/by-name/md/mdbook-alerts/package.nix
@@ -7,7 +7,7 @@
   CoreServices ? darwin.apple_sdk.frameworks.CoreServices,
 }:
 let
-  version = "0.6.2";
+  version = "0.6.3";
 in
 rustPlatform.buildRustPackage {
   pname = "mdbook-alerts";
@@ -17,10 +17,10 @@ rustPlatform.buildRustPackage {
     owner = "lambdalisue";
     repo = "rs-mdbook-alerts";
     rev = "v${version}";
-    hash = "sha256-wbXBsLOxQPEOzPcTOpG28B8Or74WGiAhgaLwnHAwT0g=";
+    hash = "sha256-MoaV/JRhWKYEzUkzxRTgYjqBw+gb2h+Bjb4mEvWEkp8=";
   };
 
-  cargoHash = "sha256-Q+mq6xu8fK6Jwee3x4hzHmC2zudV9IcGV0JfJRoKNMQ=";
+  cargoHash = "sha256-tHRbeDSK4aULz69jy5MeU4rANVuO2q3GUhDvBA4iQCM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/by-name/mo/mongodb-ce/package.nix b/pkgs/by-name/mo/mongodb-ce/package.nix
new file mode 100644
index 000000000000..b05a66724479
--- /dev/null
+++ b/pkgs/by-name/mo/mongodb-ce/package.nix
@@ -0,0 +1,131 @@
+{
+  stdenv,
+  lib,
+  fetchurl,
+  autoPatchelfHook,
+  curl,
+  openssl,
+  testers,
+  mongodb-ce,
+  writeShellApplication,
+  jq,
+  nix-update,
+  gitMinimal,
+  pup,
+}:
+
+let
+  version = "7.0.12";
+
+  srcs = version: {
+    "x86_64-linux" = {
+      url = "https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-${version}.tgz";
+      hash = "sha256-Kgq66rOBKgNIVw6bvzNrpnGRxyoBCP0AWnfzs9ReVVk=";
+    };
+    "aarch64-linux" = {
+      url = "https://fastdl.mongodb.org/linux/mongodb-linux-aarch64-ubuntu2204-${version}.tgz";
+      hash = "sha256-OLxPpAYFicWrqRJo3cNIG5Y0S6MIMd2vW8bluQkqnyk=";
+    };
+    "x86_64-darwin" = {
+      url = "https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-${version}.tgz";
+      hash = "sha256-sKfg1EpRQ7L2rgJArRHQLrawU8bh42liih5GR2/3jok=";
+    };
+    "aarch64-darwin" = {
+      url = "https://fastdl.mongodb.org/osx/mongodb-macos-arm64-${version}.tgz";
+      hash = "sha256-XkFSuKKxgSRoyzzrPYamE/44FV8ol125nqDOB9EnSMM=";
+    };
+  };
+in
+stdenv.mkDerivation (finalAttrs: {
+  pname = "mongodb-ce";
+  inherit version;
+
+  src = fetchurl (
+    (srcs version).${stdenv.hostPlatform.system}
+      or (throw "unsupported system: ${stdenv.hostPlatform.system}")
+  );
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  buildInputs = [
+    # This is to avoid the following error:
+    # ./result/bin/mongod: /nix/store/y6w7agm3aw5p96q7vsgzivba0dqq3rd0-curl-8.8.0/lib/libcurl.so.4: no version information available (required by ./result/bin/mongod)
+    # When running `mongod --version`
+    # See https://discourse.nixos.org/t/patchelf-and-libcurl-no-version-information-available/24453
+    (curl.overrideAttrs (old: {
+      configureFlags = old.configureFlags ++ [ "--enable-versioned-symbols" ];
+    })).dev
+    openssl.dev
+    stdenv.cc.cc.lib
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm 755 bin/mongod $out/bin/mongod
+    install -Dm 755 bin/mongos $out/bin/mongos
+
+    runHook postInstall
+  '';
+
+  passthru = {
+
+    updateScript =
+      let
+        script = writeShellApplication {
+          name = "${finalAttrs.pname}-updateScript";
+
+          runtimeInputs = [
+            curl
+            jq
+            nix-update
+            gitMinimal
+            pup
+          ];
+
+          text =
+            ''
+              # Get latest version string from Github
+              NEW_VERSION=$(curl -s "https://api.github.com/repos/mongodb/mongo/tags?per_page=1000" | jq -r 'first(.[] | .name | select(startswith("r7.0")) | select(contains("rc") | not) | .[1:])')
+
+              # Check if the new version is available for download, if not, exit
+              AVAILABLE=$(curl -s https://www.mongodb.com/try/download/community-edition/releases | pup 'h3:not([id]) text{}' | grep "$NEW_VERSION")
+
+              if [[ "${version}" = "$NEW_VERSION" ]]; then
+                  echo "The new version same as the old version."
+                  exit 0
+              fi
+            ''
+            + lib.concatStrings (
+              map (system: ''
+                nix-update --system ${system} --version "$NEW_VERSION" ${finalAttrs.pname}
+              '') finalAttrs.meta.platforms
+            );
+        };
+      in
+      {
+        command = lib.getExe script;
+      };
+
+    tests.version = testers.testVersion {
+      package = mongodb-ce;
+      command = "mongod --version";
+    };
+  };
+
+  meta = {
+    changelog = "https://www.mongodb.com/docs/upcoming/release-notes/7.0/";
+    description = "MongoDB is a general purpose, document-based, distributed database.";
+    homepage = "https://www.mongodb.com/";
+    license = with lib.licenses; [ sspl ];
+    longDescription = ''
+      MongoDB CE (Community Edition) is a general purpose, document-based, distributed database.
+      It is designed to be flexible and easy to use, with the ability to store data of any structure.
+      This pre-compiled binary distribution package provides the MongoDB daemon (mongod) and the MongoDB Shard utility
+      (mongos).
+    '';
+    maintainers = with lib.maintainers; [ drupol ];
+    platforms = lib.attrNames (srcs version);
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})
diff --git a/pkgs/by-name/mo/moonlight-qt/package.nix b/pkgs/by-name/mo/moonlight-qt/package.nix
index 2f8749c82ca1..a0ca66b61e64 100644
--- a/pkgs/by-name/mo/moonlight-qt/package.nix
+++ b/pkgs/by-name/mo/moonlight-qt/package.nix
@@ -20,6 +20,7 @@
   libvdpau,
   libxkbcommon,
   wayland,
+  libdrm,
   nix-update-script,
 }:
 
@@ -80,6 +81,7 @@ stdenv'.mkDerivation rec {
       libxkbcommon
       qt6.qtwayland
       wayland
+      libdrm
     ]
     ++ lib.optionals stdenv.isDarwin [
       AVFoundation
diff --git a/pkgs/by-name/my/mycelium/package.nix b/pkgs/by-name/my/mycelium/package.nix
index df96ad255fad..04a1714826bf 100644
--- a/pkgs/by-name/my/mycelium/package.nix
+++ b/pkgs/by-name/my/mycelium/package.nix
@@ -4,6 +4,7 @@
 , stdenv
 , openssl
 , darwin
+, nixosTests
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -37,6 +38,8 @@ rustPlatform.buildRustPackage rec {
     OPENSSL_DIR = "${lib.getDev openssl}";
   };
 
+  passthru.tests = { inherit (nixosTests) mycelium; };
+
   meta = with lib; {
     description = "End-2-end encrypted IPv6 overlay network";
     homepage = "https://github.com/threefoldtech/mycelium";
diff --git a/pkgs/by-name/na/nar-serve/package.nix b/pkgs/by-name/na/nar-serve/package.nix
index 5f1f55198fdf..8bd274af659f 100644
--- a/pkgs/by-name/na/nar-serve/package.nix
+++ b/pkgs/by-name/na/nar-serve/package.nix
@@ -1,6 +1,7 @@
 { buildGoModule
 , fetchFromGitHub
 , lib
+, nixosTests
 }:
 buildGoModule rec {
   pname = "nar-serve";
@@ -17,6 +18,8 @@ buildGoModule rec {
 
   doCheck = false;
 
+  passthru.tests = { inherit (nixosTests) nar-serve; };
+
   meta = with lib; {
     description = "Serve NAR file contents via HTTP";
     mainProgram = "nar-serve";
diff --git a/pkgs/by-name/ne/nexus/package.nix b/pkgs/by-name/ne/nexus/package.nix
index 00e4e7325e04..68822ba5dcb8 100644
--- a/pkgs/by-name/ne/nexus/package.nix
+++ b/pkgs/by-name/ne/nexus/package.nix
@@ -5,6 +5,7 @@
   makeWrapper,
   jre_headless,
   gawk,
+  nixosTests,
 }:
 
 stdenv.mkDerivation rec {
@@ -49,6 +50,10 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) nexus;
+  };
+
   meta = {
     description = "Repository manager for binary software components";
     homepage = "https://www.sonatype.com/products/sonatype-nexus-oss";
diff --git a/pkgs/by-name/no/noto-fonts/package.nix b/pkgs/by-name/no/noto-fonts/package.nix
index f700f8ad121c..b47072549b24 100644
--- a/pkgs/by-name/no/noto-fonts/package.nix
+++ b/pkgs/by-name/no/noto-fonts/package.nix
@@ -2,6 +2,7 @@
 , stdenvNoCC
 , fetchFromGitHub
 , gitUpdater
+, nixosTests
 , variants ? [ ]
 , suffix ? ""
 , longDescription ? ''
@@ -62,6 +63,8 @@ stdenvNoCC.mkDerivation rec {
     rev-prefix = "noto-monthly-release-";
   };
 
+  passthru.tests = { inherit (nixosTests) noto-fonts; };
+
   meta = {
     description = "Beautiful and free fonts for many languages";
     homepage = "https://www.google.com/get/noto/";
diff --git a/pkgs/by-name/np/nph/lock.json b/pkgs/by-name/np/nph/lock.json
new file mode 100644
index 000000000000..28a56c2087d8
--- /dev/null
+++ b/pkgs/by-name/np/nph/lock.json
@@ -0,0 +1,3 @@
+{
+  "depends": []
+}
diff --git a/pkgs/by-name/np/nph/package.nix b/pkgs/by-name/np/nph/package.nix
new file mode 100644
index 000000000000..897b84d7980a
--- /dev/null
+++ b/pkgs/by-name/np/nph/package.nix
@@ -0,0 +1,36 @@
+{
+  lib,
+  buildNimPackage,
+  fetchFromGitHub,
+}:
+
+buildNimPackage (finalAttrs: {
+  pname = "nph";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "arnetheduck";
+    repo = "nph";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-9t5VeGsxyytGdu7+Uv/J+x6bmeB5+eQapbyp30iPxqs=";
+  };
+
+  lockFile = ./lock.json;
+
+  checkPhase = ''
+    runHook preCheck
+
+    $out/bin/nph tests/before
+    diff tests/before tests/after -x "*.yaml"
+
+    runHook postCheck
+  '';
+
+  meta = {
+    description = "Opinionated code formatter for Nim";
+    homepage = "https://github.com/arnetheduck/nph";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ sigmanificient ];
+    mainProgram = "nph";
+  };
+})
diff --git a/pkgs/by-name/nz/nzbhydra2/package.nix b/pkgs/by-name/nz/nzbhydra2/package.nix
index 3cbbb76811ac..2e6303c7a31b 100644
--- a/pkgs/by-name/nz/nzbhydra2/package.nix
+++ b/pkgs/by-name/nz/nzbhydra2/package.nix
@@ -6,6 +6,7 @@
   openjdk17,
   python3,
   unzip,
+  nixosTests,
 }:
 stdenv.mkDerivation rec {
   pname = "nzbhydra2";
@@ -37,6 +38,10 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) nzbhydra2;
+  };
+
   meta = {
     description = "Usenet meta search";
     homepage = "https://github.com/theotherp/nzbhydra2";
diff --git a/pkgs/by-name/op/openfga-cli/package.nix b/pkgs/by-name/op/openfga-cli/package.nix
index 4a0ea0be8876..a1ca9738b61b 100644
--- a/pkgs/by-name/op/openfga-cli/package.nix
+++ b/pkgs/by-name/op/openfga-cli/package.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "openfga-cli";
-  version = "0.5.2";
+  version = "0.5.3";
 in
 
 buildGoModule {
@@ -17,10 +17,10 @@ buildGoModule {
     owner = "openfga";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-tWGklsAsZ+kBTjpA2by3S0fSpUMNkh9dFKJ7DPzXNRA=";
+    hash = "sha256-74wHhVGhLiuszRZBjxGGk9jfN+D6T1eZg8OFEkE3gPE=";
   };
 
-  vendorHash = "sha256-GDYj4KcRK9/J5BTuUsk4f+qBrkT3ofP141mmKIqZAWA=";
+  vendorHash = "sha256-TDjXy5zR5LJWVmIfAolHgzM7JElgyksHbv0NAS97QnU=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/by-name/po/polybar/package.nix b/pkgs/by-name/po/polybar/package.nix
index 7771eec81d2b..520b7753d3f0 100644
--- a/pkgs/by-name/po/polybar/package.nix
+++ b/pkgs/by-name/po/polybar/package.nix
@@ -42,13 +42,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "polybar";
-  version = "3.7.1";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
     owner = "polybar";
     repo = "polybar";
     rev = finalAttrs.version;
-    hash = "sha256-DX648jY1vewl3ImK84gF6/vtcSCg3wtgq6Ie3fCwZoA=";
+    hash = "sha256-5PYKl6Hi4EYEmUBwkV0rLiwxNqIyR5jwm495YnNs0gI=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/by-name/pr/private-gpt/package.nix b/pkgs/by-name/pr/private-gpt/package.nix
index 1b717cc2bfb8..4912c42212c8 100644
--- a/pkgs/by-name/pr/private-gpt/package.nix
+++ b/pkgs/by-name/pr/private-gpt/package.nix
@@ -5,8 +5,10 @@
 python3Packages.toPythonApplication (python3Packages.private-gpt.overrideAttrs (oldAttrs: {
   nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeBinaryWrapper ];
 
-  passthru.cl100k_base = {
-    inherit (python3Packages.private-gpt.cl100k_base) tiktoken;
+  passthru = (oldAttrs.passthru or {}) // {
+    cl100k_base = {
+      inherit (python3Packages.private-gpt.cl100k_base) tiktoken;
+    };
   };
 
   postInstall = ''
diff --git a/pkgs/by-name/pr/prometheus-restic-exporter/package.nix b/pkgs/by-name/pr/prometheus-restic-exporter/package.nix
index 603650a66ab6..d2dc4875282f 100644
--- a/pkgs/by-name/pr/prometheus-restic-exporter/package.nix
+++ b/pkgs/by-name/pr/prometheus-restic-exporter/package.nix
@@ -8,13 +8,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "prometheus-restic-exporter";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "ngosang";
     repo = "restic-exporter";
     rev = version;
-    hash = "sha256-SC2ZCIQ33RaFI9+l/WI6edNzGEtsxJ2bBdeGNMHuyqY=";
+    hash = "sha256-gXiEts0EY9H01+rs+2o+cbVENotM33uhcQiGDtroSU4=";
   };
 
   buildInputs = [
diff --git a/pkgs/by-name/ra/railway/package.nix b/pkgs/by-name/ra/railway/package.nix
index d564fe1ecf81..b6daf9f26949 100644
--- a/pkgs/by-name/ra/railway/package.nix
+++ b/pkgs/by-name/ra/railway/package.nix
@@ -12,16 +12,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "railway";
-  version = "3.11.4";
+  version = "3.12.2";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = "cli";
     rev = "v${version}";
-    hash = "sha256-b9koWJunBlbg92/n5Wdvri7TAn9sbscLXasX+isXMHA=";
+    hash = "sha256-G3sdwQ5SqCA5jEDMny7a446wSMrPmgs4q5u1mcNY7SU=";
   };
 
-  cargoHash = "sha256-1N/5HNDN45Y+GSsrxMhVJAGbLUyLjDZaVNHS77x1SKw=";
+  cargoHash = "sha256-zyMXx1CITE0y7RyRirT3o5F8U/9ReXwlGr2nrobwmYI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/by-name/rs/rspamd-trainer/package.nix b/pkgs/by-name/rs/rspamd-trainer/package.nix
index 56e6f9e9ce8e..e00bddcbfbce 100644
--- a/pkgs/by-name/rs/rspamd-trainer/package.nix
+++ b/pkgs/by-name/rs/rspamd-trainer/package.nix
@@ -4,6 +4,7 @@
 , fetchFromGitLab
 , fetchpatch
 , rspamd
+, nixosTests
 }:
 
 python3Packages.buildPythonApplication {
@@ -48,6 +49,8 @@ python3Packages.buildPythonApplication {
     imapclient
   ];
 
+  passthru.tests = { inherit (nixosTests) rspamd-trainer; };
+
   meta = {
     homepage = "https://gitlab.com/onlime/rspamd-trainer";
     description = "Grabs messages from a spam mailbox via IMAP and feeds them to Rspamd for training";
diff --git a/pkgs/by-name/ta/tana/package.nix b/pkgs/by-name/ta/tana/package.nix
index d464b55c2a92..d9e37f2b8711 100644
--- a/pkgs/by-name/ta/tana/package.nix
+++ b/pkgs/by-name/ta/tana/package.nix
@@ -55,7 +55,7 @@ let
   ];
   buildInputs = glLibs ++ libs;
   runpathPackages = glLibs ++ [ stdenv.cc.cc stdenv.cc.libc ];
-  version = "1.0.15";
+  version = "1.0.16";
 in
 stdenv.mkDerivation {
   pname = "tana";
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/tanainc/tana-desktop-releases/releases/download/v${version}/tana_${version}_amd64.deb";
-    hash = "sha256-94AyAwNFN5FCol97US1Pv8IN1+WMRA3St9kL2w+9FJU=";
+    hash = "sha256-XLjzvMai5HyxEGK02DfBAKy5jva9wEGcf5A/38jzu+s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/by-name/te/telescope/package.nix b/pkgs/by-name/te/telescope/package.nix
index 8198bd4750f7..1a4db30c9058 100644
--- a/pkgs/by-name/te/telescope/package.nix
+++ b/pkgs/by-name/te/telescope/package.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "telescope";
-  version = "0.10";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = "omar-polo";
     repo = pname;
     rev = version;
-    hash = "sha256-hkXXM/I7sNFomWamT0q1JH62arX1hFbt68Axcijadug=";
+    hash = "sha256-MVZ/pvDAETacQiEMEXM0gYM20LXqNiHtMfFGqS1vipY=";
   };
 
   postPatch = ''
diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix
index d2552459474f..20f50b0957a1 100644
--- a/pkgs/by-name/ui/uiua/package.nix
+++ b/pkgs/by-name/ui/uiua/package.nix
@@ -18,16 +18,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "uiua";
-  version = "0.11.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "uiua-lang";
     repo = "uiua";
     rev = version;
-    hash = "sha256-bK5Z6aoyZti46GLulpdxGPxHM+EfEVQgeAUY6fRc7YY=";
+    hash = "sha256-w/eB9EN3IrEDdwbMqj2w5YAZK/BImA/Xq2k9oRng7Zk=";
   };
 
-  cargoHash = "sha256-iq5V+FGOcK2opmA4ot0KF9ZToYWC82gRsRyVqftuFPA=";
+  cargoHash = "sha256-/DO/jkYaInoO0nMfflDuu7E08gk9D89m9ubeubHdvd8=";
 
   nativeBuildInputs =
     lib.optionals stdenv.isDarwin [ rustPlatform.bindgenHook ]
diff --git a/pkgs/by-name/ve/veloren/Cargo.lock b/pkgs/by-name/ve/veloren/Cargo.lock
index 6f90da6983ad..f9c58f456565 100644
--- a/pkgs/by-name/ve/veloren/Cargo.lock
+++ b/pkgs/by-name/ve/veloren/Cargo.lock
@@ -6336,9 +6336,9 @@ dependencies = [
 
 [[package]]
 name = "time"
-version = "0.3.34"
+version = "0.3.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+checksum = "ef89ece63debf11bc32d1ed8d078ac870cbeb44da02afb02a9ff135ae7ca0582"
 dependencies = [
  "deranged",
  "itoa",
@@ -6357,9 +6357,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
 
 [[package]]
 name = "time-macros"
-version = "0.2.17"
+version = "0.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
 dependencies = [
  "num-conv",
  "time-core",
diff --git a/pkgs/by-name/ve/veloren/package.nix b/pkgs/by-name/ve/veloren/package.nix
index fd2ffc686c51..fff47f2583fa 100644
--- a/pkgs/by-name/ve/veloren/package.nix
+++ b/pkgs/by-name/ve/veloren/package.nix
@@ -50,6 +50,9 @@ rustPlatform.buildRustPackage {
   ];
 
   postPatch = ''
+    # Use our Cargo.lock
+    cp ${./Cargo.lock} Cargo.lock
+
     # Force vek to build in unstable mode
     cat <<'EOF' | tee "$cargoDepsCopy"/vek-*/build.rs
     fn main() {
diff --git a/pkgs/by-name/wa/wastebin/package.nix b/pkgs/by-name/wa/wastebin/package.nix
index 5fcbcfa64259..53f58c5caf39 100644
--- a/pkgs/by-name/wa/wastebin/package.nix
+++ b/pkgs/by-name/wa/wastebin/package.nix
@@ -6,6 +6,7 @@
 , zstd
 , stdenv
 , darwin
+, nixosTests
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -36,6 +37,10 @@ rustPlatform.buildRustPackage rec {
     ZSTD_SYS_USE_PKG_CONFIG = true;
   };
 
+  passthru.tests = {
+    inherit (nixosTests) wastebin;
+  };
+
   meta = with lib; {
     description = "Wastebin is a pastebin";
     homepage = "https://github.com/matze/wastebin";
diff --git a/pkgs/by-name/wa/watchdogd/package.nix b/pkgs/by-name/wa/watchdogd/package.nix
index 34567dbe566d..4781257c88f9 100644
--- a/pkgs/by-name/wa/watchdogd/package.nix
+++ b/pkgs/by-name/wa/watchdogd/package.nix
@@ -6,6 +6,7 @@
 , libite
 , libuev
 , libconfuse
+, nixosTests
 }:
 stdenv.mkDerivation rec {
   pname = "watchdogd";
@@ -21,6 +22,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config autoreconfHook ];
   buildInputs = [ libite libuev libconfuse ];
 
+  passthru.tests = { inherit (nixosTests) watchdogd; };
+
   meta = with lib; {
     description = "Advanced system & process supervisor for Linux";
     homepage = "https://troglobit.com/watchdogd.html";
diff --git a/pkgs/by-name/wo/workout-tracker/package.nix b/pkgs/by-name/wo/workout-tracker/package.nix
index 349048008769..533f85a3f4a3 100644
--- a/pkgs/by-name/wo/workout-tracker/package.nix
+++ b/pkgs/by-name/wo/workout-tracker/package.nix
@@ -3,6 +3,7 @@
   buildGoModule,
   fetchFromGitHub,
   nix-update-script,
+  nixosTests,
   ...
 }:
 
@@ -21,6 +22,10 @@ buildGoModule rec {
 
   passthru.updateScript = nix-update-script { };
 
+  passthru.tests = {
+    inherit (nixosTests) workout-tracker;
+  };
+
   meta = {
     changelog = "https://github.com/jovandeginste/workout-tracker/releases/tag/v${version}";
     description = "Workout tracking web application for personal use";
diff --git a/pkgs/by-name/ya/yandex-cloud/sources.json b/pkgs/by-name/ya/yandex-cloud/sources.json
index a111fdf22649..04ba451895c8 100644
--- a/pkgs/by-name/ya/yandex-cloud/sources.json
+++ b/pkgs/by-name/ya/yandex-cloud/sources.json
@@ -1,25 +1,25 @@
 {
-  "version": "0.130.0",
+  "version": "0.131.0",
   "binaries": {
     "aarch64-darwin": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.130.0/darwin/arm64/yc",
-      "hash": "sha256-nvEu2aV9ykG9j6p9+kW4bBGOoj5FzJD8eU1M9dFXF5I="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.131.0/darwin/arm64/yc",
+      "hash": "sha256-qbixNy5zjnJRuKtqamCWD7L7SS637sFSkpM24Olle2w="
     },
     "aarch64-linux": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.130.0/linux/arm64/yc",
-      "hash": "sha256-qZajFYaDVV+XcxC28MoRtIPaCm2He58p+yRMOrFhQU4="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.131.0/linux/arm64/yc",
+      "hash": "sha256-xW8lh/7L+rp7lBZS2EZGvop1r6Wy75W08Z3tpRJ6K80="
     },
     "i686-linux": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.130.0/linux/386/yc",
-      "hash": "sha256-RhDZ2VnmO+GrKQ0SIFwyCqPxnfUc5VoGlgg8uJncERY="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.131.0/linux/386/yc",
+      "hash": "sha256-h4nO+qokC7yxgFWG/51NRqio0nVlc7y6O0NmpAK5hyE="
     },
     "x86_64-darwin": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.130.0/darwin/amd64/yc",
-      "hash": "sha256-hGdInZAo+LH6qzoQXDmfSzVb1SdN565XuRGByzJrrfI="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.131.0/darwin/amd64/yc",
+      "hash": "sha256-DFF7XmC/YWxWjDdXpCkeMk7bVUYXSk8ncZF3T3Nf47w="
     },
     "x86_64-linux": {
-      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.130.0/linux/amd64/yc",
-      "hash": "sha256-0NwGi46WtOV/2oJJPiXIj0+39dKno2LlsVuWEFVycTI="
+      "url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.131.0/linux/amd64/yc",
+      "hash": "sha256-ZVsMrlCN4nV4LsgLtHvwOMUUKkNdZ654rjM6ixcS94o="
     }
   }
 }
diff --git a/pkgs/by-name/yo/your_spotify/package.nix b/pkgs/by-name/yo/your_spotify/package.nix
index 738d1aefa248..77864788fa19 100644
--- a/pkgs/by-name/yo/your_spotify/package.nix
+++ b/pkgs/by-name/yo/your_spotify/package.nix
@@ -8,6 +8,7 @@
   nodejs,
   makeWrapper,
   callPackage,
+  nixosTests,
 }:
 
 stdenv.mkDerivation (finalAttrs: {
@@ -63,6 +64,9 @@ stdenv.mkDerivation (finalAttrs: {
     client = callPackage ./client.nix {
       inherit (finalAttrs) src version offlineCache meta;
     };
+    tests = {
+      inherit (nixosTests) your_spotify;
+    };
   };
 
   meta = {