diff --git a/apps/config/package-lock.json b/apps/config/package-lock.json
index 132df3dd..c08c044c 100644
--- a/apps/config/package-lock.json
+++ b/apps/config/package-lock.json
@@ -11,7 +11,7 @@
                 "@eslint/js": "9.25.1",
                 "@stylistic/eslint-plugin": "4.2.0",
                 "eslint": "9.25.1",
-                "eslint-plugin-jsdoc": "50.6.10",
+                "eslint-plugin-jsdoc": "50.6.11",
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
@@ -771,9 +771,9 @@
             }
         },
         "node_modules/eslint-plugin-jsdoc": {
-            "version": "50.6.10",
-            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.10.tgz",
-            "integrity": "sha512-HJRMrRIXjWtDyU6yar8xvdKMc1waSAfE6vRjEWBpws6pYeoVyCFtQQneEBnQkHXOV60idH5ymo/bh1XNBOTQmA==",
+            "version": "50.6.11",
+            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.11.tgz",
+            "integrity": "sha512-k4+MnBCGR8cuIB5MZ++FGd4gbXxjob2rX1Nq0q3nWFF4xSGZENTgTLZSjb+u9B8SAnP6lpGV2FJrBjllV3pVSg==",
             "license": "BSD-3-Clause",
             "dependencies": {
                 "@es-joy/jsdoccomment": "~0.49.0",
diff --git a/apps/config/package.json b/apps/config/package.json
index 837d8a0a..c622e514 100644
--- a/apps/config/package.json
+++ b/apps/config/package.json
@@ -7,7 +7,7 @@
         "@eslint/js": "9.25.1",
         "@stylistic/eslint-plugin": "4.2.0",
         "eslint": "9.25.1",
-        "eslint-plugin-jsdoc": "50.6.10",
+        "eslint-plugin-jsdoc": "50.6.11",
         "jiti": "2.4.2",
         "pkg-types": "2.1.0",
         "typescript": "5.8.3",
diff --git a/apps/extract-subs/default.nix b/apps/extract-subs/default.nix
index c7a93f22..18819334 100644
--- a/apps/extract-subs/default.nix
+++ b/apps/extract-subs/default.nix
@@ -5,7 +5,7 @@
 }:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-bCmpfCyEcbrb11KQS+4nxiyetWQrHLRDA5MGs1D3c38=";
+  npmDepsHash = "sha256-WeMjShk3fBPKiZ1TqkqP9ASPIBtFgI2E6Sa+ILdqSS4=";
 
   runtimeInputs = [
     ffmpeg-full
diff --git a/apps/extract-subs/package-lock.json b/apps/extract-subs/package-lock.json
index ffcd2ff5..f481f305 100644
--- a/apps/extract-subs/package-lock.json
+++ b/apps/extract-subs/package-lock.json
@@ -9,7 +9,7 @@
             "version": "0.0.0",
             "dependencies": {
                 "@types/fluent-ffmpeg": "2.1.27",
-                "@types/node": "22.15.0",
+                "@types/node": "22.15.2",
                 "esbuild": "0.25.3",
                 "eslint": "9.25.1",
                 "fluent-ffmpeg": "2.1.3",
@@ -28,14 +28,14 @@
             "version": "0.0.0",
             "dev": true,
             "dependencies": {
-                "@eslint/js": "9.25.0",
+                "@eslint/js": "9.25.1",
                 "@stylistic/eslint-plugin": "4.2.0",
-                "eslint": "9.25.0",
-                "eslint-plugin-jsdoc": "50.6.9",
+                "eslint": "9.25.1",
+                "eslint-plugin-jsdoc": "50.6.10",
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
-                "typescript-eslint": "8.30.1"
+                "typescript-eslint": "8.31.0"
             }
         },
         "node_modules/@esbuild/aix-ppc64": {
@@ -649,9 +649,9 @@
             "license": "MIT"
         },
         "node_modules/@types/node": {
-            "version": "22.15.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.0.tgz",
-            "integrity": "sha512-99S8dWD2DkeE6PBaEDw+In3aar7hdoBvjyJMR6vaKBTzpvR0P00ClzJMOoVrj9D2+Sy/YCwACYHnBTpMhg1UCA==",
+            "version": "22.15.2",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.2.tgz",
+            "integrity": "sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==",
             "license": "MIT",
             "dependencies": {
                 "undici-types": "~6.21.0"
diff --git a/apps/extract-subs/package.json b/apps/extract-subs/package.json
index 3397d548..d885697d 100644
--- a/apps/extract-subs/package.json
+++ b/apps/extract-subs/package.json
@@ -9,7 +9,7 @@
     "dependencies": {
         "@types/fluent-ffmpeg": "2.1.27",
         "fluent-ffmpeg": "2.1.3",
-        "@types/node": "22.15.0",
+        "@types/node": "22.15.2",
         "esbuild": "0.25.3",
         "eslint": "9.25.1",
         "jiti": "2.4.2",
diff --git a/apps/list2series/default.nix b/apps/list2series/default.nix
index b80baeca..a81cebd2 100644
--- a/apps/list2series/default.nix
+++ b/apps/list2series/default.nix
@@ -1,7 +1,7 @@
 {buildApp, ...}:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-jZc+bjYzI9ef5lw2PGp4CDa2nbTTJ2nOZeWt6ftRgww=";
+  npmDepsHash = "sha256-7DNUgSJ9lS2McrxzgjjPjNBxGEx1XYqTpGpd5eJkBNU=";
 
   runtimeInputs = [];
 
diff --git a/apps/list2series/package-lock.json b/apps/list2series/package-lock.json
index 57d1c7ff..a3ba800e 100644
--- a/apps/list2series/package-lock.json
+++ b/apps/list2series/package-lock.json
@@ -8,7 +8,7 @@
             "name": "list2series",
             "version": "0.0.0",
             "dependencies": {
-                "@types/node": "22.15.0",
+                "@types/node": "22.15.2",
                 "axios": "1.9.0",
                 "esbuild": "0.25.3",
                 "eslint": "9.25.1",
@@ -31,7 +31,7 @@
                 "@eslint/js": "9.25.1",
                 "@stylistic/eslint-plugin": "4.2.0",
                 "eslint": "9.25.1",
-                "eslint-plugin-jsdoc": "50.6.10",
+                "eslint-plugin-jsdoc": "50.6.11",
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
@@ -640,9 +640,9 @@
             "license": "MIT"
         },
         "node_modules/@types/node": {
-            "version": "22.15.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.0.tgz",
-            "integrity": "sha512-99S8dWD2DkeE6PBaEDw+In3aar7hdoBvjyJMR6vaKBTzpvR0P00ClzJMOoVrj9D2+Sy/YCwACYHnBTpMhg1UCA==",
+            "version": "22.15.2",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.2.tgz",
+            "integrity": "sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==",
             "license": "MIT",
             "dependencies": {
                 "undici-types": "~6.21.0"
diff --git a/apps/list2series/package.json b/apps/list2series/package.json
index 59f91898..3ce924b1 100644
--- a/apps/list2series/package.json
+++ b/apps/list2series/package.json
@@ -7,7 +7,7 @@
         "build": "node_ver=$(node -v); esbuild src/app.ts --bundle --platform=node --target=\"node${node_ver:1:2}\" --outfile=out/bin/app.cjs"
     },
     "dependencies": {
-        "@types/node": "22.15.0",
+        "@types/node": "22.15.2",
         "axios": "1.9.0",
         "esbuild": "0.25.3",
         "eslint": "9.25.1",
diff --git a/apps/mc-mods/default.nix b/apps/mc-mods/default.nix
index c5922079..9a165997 100644
--- a/apps/mc-mods/default.nix
+++ b/apps/mc-mods/default.nix
@@ -5,7 +5,7 @@
 }:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-kysYHgQ/kMm6Jt2mCQlnP5YEh8GKTRgRfW/YMFQUFuU=";
+  npmDepsHash = "sha256-3qTbuR1E5/ftEIU/DhhgXNyeXk4LRPhKoufSUwgVLBA=";
 
   runtimeInputs = [
     nodejs_latest
diff --git a/apps/mc-mods/package-lock.json b/apps/mc-mods/package-lock.json
index bfa36c94..bc78c301 100644
--- a/apps/mc-mods/package-lock.json
+++ b/apps/mc-mods/package-lock.json
@@ -8,7 +8,7 @@
             "name": "mc-mods",
             "version": "0.0.0",
             "dependencies": {
-                "@types/node": "22.15.0",
+                "@types/node": "22.15.2",
                 "esbuild": "0.25.3",
                 "eslint": "9.25.1",
                 "jiti": "2.4.2",
@@ -30,7 +30,7 @@
                 "@eslint/js": "9.25.1",
                 "@stylistic/eslint-plugin": "4.2.0",
                 "eslint": "9.25.1",
-                "eslint-plugin-jsdoc": "50.6.10",
+                "eslint-plugin-jsdoc": "50.6.11",
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
@@ -639,9 +639,9 @@
             "license": "MIT"
         },
         "node_modules/@types/node": {
-            "version": "22.15.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.0.tgz",
-            "integrity": "sha512-99S8dWD2DkeE6PBaEDw+In3aar7hdoBvjyJMR6vaKBTzpvR0P00ClzJMOoVrj9D2+Sy/YCwACYHnBTpMhg1UCA==",
+            "version": "22.15.2",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.2.tgz",
+            "integrity": "sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==",
             "license": "MIT",
             "dependencies": {
                 "undici-types": "~6.21.0"
diff --git a/apps/mc-mods/package.json b/apps/mc-mods/package.json
index 7d666ee8..b99602b9 100644
--- a/apps/mc-mods/package.json
+++ b/apps/mc-mods/package.json
@@ -7,7 +7,7 @@
         "build": "node_ver=$(node -v); esbuild src/app.ts --bundle --platform=node --target=\"node${node_ver:1:2}\" --outfile=out/bin/app.cjs"
     },
     "dependencies": {
-        "@types/node": "22.15.0",
+        "@types/node": "22.15.2",
         "esbuild": "0.25.3",
         "eslint": "9.25.1",
         "jiti": "2.4.2",
diff --git a/apps/pin-inputs/default.nix b/apps/pin-inputs/default.nix
index ab8152ff..f041124b 100644
--- a/apps/pin-inputs/default.nix
+++ b/apps/pin-inputs/default.nix
@@ -1,7 +1,7 @@
 {buildApp, ...}:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-0cyJ/TiloLtGCE1GPLjr30/RoHTG2uXxLUgWl87srIA=";
+  npmDepsHash = "sha256-3Z5iR8jtU2g42CycUMMYfM3cOa6kKcJwwY3ui94caZY=";
 
   runtimeInputs = [];
 
diff --git a/apps/pin-inputs/package-lock.json b/apps/pin-inputs/package-lock.json
index abd6a6b3..2ab263f3 100644
--- a/apps/pin-inputs/package-lock.json
+++ b/apps/pin-inputs/package-lock.json
@@ -8,7 +8,7 @@
             "name": "pin-inputs",
             "version": "0.0.0",
             "dependencies": {
-                "@types/node": "22.15.0",
+                "@types/node": "22.15.2",
                 "esbuild": "0.25.3",
                 "eslint": "9.25.1",
                 "jiti": "2.4.2",
@@ -30,7 +30,7 @@
                 "@eslint/js": "9.25.1",
                 "@stylistic/eslint-plugin": "4.2.0",
                 "eslint": "9.25.1",
-                "eslint-plugin-jsdoc": "50.6.10",
+                "eslint-plugin-jsdoc": "50.6.11",
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
@@ -639,9 +639,9 @@
             "license": "MIT"
         },
         "node_modules/@types/node": {
-            "version": "22.15.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.0.tgz",
-            "integrity": "sha512-99S8dWD2DkeE6PBaEDw+In3aar7hdoBvjyJMR6vaKBTzpvR0P00ClzJMOoVrj9D2+Sy/YCwACYHnBTpMhg1UCA==",
+            "version": "22.15.2",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.2.tgz",
+            "integrity": "sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==",
             "license": "MIT",
             "dependencies": {
                 "undici-types": "~6.21.0"
diff --git a/apps/pin-inputs/package.json b/apps/pin-inputs/package.json
index a3ec30f4..4490eba8 100644
--- a/apps/pin-inputs/package.json
+++ b/apps/pin-inputs/package.json
@@ -7,7 +7,7 @@
         "build": "node_ver=$(node -v); esbuild src/app.ts --bundle --platform=node --target=\"node${node_ver:1:2}\" --outfile=out/bin/app.cjs"
     },
     "dependencies": {
-        "@types/node": "22.15.0",
+        "@types/node": "22.15.2",
         "esbuild": "0.25.3",
         "eslint": "9.25.1",
         "jiti": "2.4.2",
diff --git a/apps/update-sources/default.nix b/apps/update-sources/default.nix
index 2b6e3eff..4c550821 100644
--- a/apps/update-sources/default.nix
+++ b/apps/update-sources/default.nix
@@ -12,7 +12,7 @@
 }:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-jcvfbNRz7F3legAmPrB8kgZrsVtObdNQceqBOEsGV2w=";
+  npmDepsHash = "sha256-fgeo7pRYUubf3aZ9O5LWWxMZ+cyJ4etrmHYTbHfRYg0=";
 
   runtimeInputs = [
     curl
diff --git a/apps/update-sources/package-lock.json b/apps/update-sources/package-lock.json
index 4bed651d..d3ab5d52 100644
--- a/apps/update-sources/package-lock.json
+++ b/apps/update-sources/package-lock.json
@@ -8,7 +8,7 @@
             "name": "update-sources",
             "version": "0.0.0",
             "dependencies": {
-                "@types/node": "22.15.0",
+                "@types/node": "22.15.2",
                 "esbuild": "0.25.3",
                 "eslint": "9.25.1",
                 "jiti": "2.4.2",
@@ -27,14 +27,14 @@
             "version": "0.0.0",
             "dev": true,
             "dependencies": {
-                "@eslint/js": "9.25.0",
+                "@eslint/js": "9.25.1",
                 "@stylistic/eslint-plugin": "4.2.0",
-                "eslint": "9.25.0",
-                "eslint-plugin-jsdoc": "50.6.9",
+                "eslint": "9.25.1",
+                "eslint-plugin-jsdoc": "50.6.10",
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
-                "typescript-eslint": "8.30.1"
+                "typescript-eslint": "8.31.0"
             }
         },
         "node_modules/@esbuild/aix-ppc64": {
@@ -639,9 +639,9 @@
             "license": "MIT"
         },
         "node_modules/@types/node": {
-            "version": "22.15.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.0.tgz",
-            "integrity": "sha512-99S8dWD2DkeE6PBaEDw+In3aar7hdoBvjyJMR6vaKBTzpvR0P00ClzJMOoVrj9D2+Sy/YCwACYHnBTpMhg1UCA==",
+            "version": "22.15.2",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.2.tgz",
+            "integrity": "sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==",
             "license": "MIT",
             "dependencies": {
                 "undici-types": "~6.21.0"
diff --git a/apps/update-sources/package.json b/apps/update-sources/package.json
index 03a008ff..dd2c8cc4 100644
--- a/apps/update-sources/package.json
+++ b/apps/update-sources/package.json
@@ -7,7 +7,7 @@
         "build": "node_ver=$(node -v); esbuild src/app.ts --bundle --platform=node --target=\"node${node_ver:1:2}\" --outfile=out/bin/app.cjs"
     },
     "dependencies": {
-        "@types/node": "22.15.0",
+        "@types/node": "22.15.2",
         "esbuild": "0.25.3",
         "eslint": "9.25.1",
         "jiti": "2.4.2",
diff --git a/configurations/nos/modules/qbittorrent/vuetorrent.nix b/configurations/nos/modules/qbittorrent/vuetorrent.nix
index 2b94d81a..4784f644 100644
--- a/configurations/nos/modules/qbittorrent/vuetorrent.nix
+++ b/configurations/nos/modules/qbittorrent/vuetorrent.nix
@@ -1,6 +1,6 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  version = "2.24.1";
-  url = "https://github.com/VueTorrent/VueTorrent/releases/download/v2.24.1/vuetorrent.zip";
-  hash = "sha256-luW5dHxTeoiuUPFAVEJxG9yS28/9JJ8lW16pI/0ruFU=";
+  version = "2.24.2";
+  url = "https://github.com/VueTorrent/VueTorrent/releases/download/v2.24.2/vuetorrent.zip";
+  hash = "sha256-QD9LYDm6LqexL9Me9mHXWPwCkbn5n9OVGh60PHSW9OA=";
 }
diff --git a/flake.lock b/flake.lock
index b41689a6..26cbca73 100644
--- a/flake.lock
+++ b/flake.lock
@@ -402,11 +402,11 @@
     "gpu-screen-recorder-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1745430522,
-        "narHash": "sha256-GePE2nkuXeymKEGe0YIPUINgkYAoMKGeUwj/nb8RFGk=",
+        "lastModified": 1745572480,
+        "narHash": "sha256-hOnrMWIt/Lb2y1JriNzjV2eS+E+Oon+zMdTnEcWeAZk=",
         "ref": "refs/heads/master",
-        "rev": "06b559ecef8aa81e9658e76bf3d5ad0c173087d5",
-        "revCount": 1077,
+        "rev": "b4bbed2402bc3a35f880679f45229157720f831a",
+        "revCount": 1078,
         "type": "git",
         "url": "https://repo.dec05eba.com/gpu-screen-recorder"
       },
@@ -461,11 +461,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745494811,
-        "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
+        "lastModified": 1745593878,
+        "narHash": "sha256-Rq5qNnUWuhQTqzXDcminu7Z1FPSB1wUaKIEfPTyZkAs=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
+        "rev": "542078066b1a99cdc5d5fce1365f98b847ca0b5a",
         "type": "github"
       },
       "original": {
@@ -542,17 +542,17 @@
         ]
       },
       "locked": {
-        "lastModified": 1745374999,
-        "narHash": "sha256-XDKYeRuSdVuGCKaSsoYUrQanppmbzh5cMSjcO2aAK3Y=",
+        "lastModified": 1745599697,
+        "narHash": "sha256-bdkyE8HDfeOj9IOeSnh4ST+Sxte7ucY37ImOUTBrr5g=",
         "owner": "horriblename",
         "repo": "hyprgrass",
-        "rev": "dab59fb9ddb29e90c868d42a3486dd51d2863cfe",
+        "rev": "669f8c80a15e9db815ac9e29068567735b9b1a79",
         "type": "github"
       },
       "original": {
         "owner": "horriblename",
         "repo": "hyprgrass",
-        "rev": "dab59fb9ddb29e90c868d42a3486dd51d2863cfe",
+        "rev": "669f8c80a15e9db815ac9e29068567735b9b1a79",
         "type": "github"
       }
     },
@@ -578,11 +578,11 @@
         "xdph": "xdph"
       },
       "locked": {
-        "lastModified": 1745520589,
-        "narHash": "sha256-d+Wt23atV3D4xDHl3YbbreVGk+7GzalymG//H3+Kmj4=",
+        "lastModified": 1745593751,
+        "narHash": "sha256-TJ/Nijr83ydAi473NGeazYqcQ0t8lCPU7aaQv98oGg8=",
         "owner": "hyprwm",
         "repo": "Hyprland",
-        "rev": "0e80ecc5342db04c8c1f807fa6db4c703fb89e3a",
+        "rev": "742bce016cb848d222fbfcfcf8d3894ea3fdaeff",
         "type": "github"
       },
       "original": {
@@ -604,11 +604,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745350310,
-        "narHash": "sha256-M9QKHcx6aFD2NVjD5pl3/VMxf8ZIDdaqplZL8YWwupA=",
+        "lastModified": 1745610646,
+        "narHash": "sha256-R8rWH3oFV5/jwl87t7HyVoFgndrPw8QR/2pLwyKJLYM=",
         "owner": "hyprwm",
         "repo": "hyprland-plugins",
-        "rev": "8e5e53adefdd96158841ee5b23bce4fe631bf57e",
+        "rev": "61ab0385c8d9d456bf89539c76dd9e73becefde3",
         "type": "github"
       },
       "original": {
@@ -1162,11 +1162,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745373052,
-        "narHash": "sha256-YoxUn3PXwLN7GxtzRLNAWBAgE728FwLy2oy9roiz/Xg=",
+        "lastModified": 1745545937,
+        "narHash": "sha256-joiviAxX26H0RFIe8E5iP3gSAV/f3v5Ae4SUZ85IDnE=",
         "owner": "fufexan",
         "repo": "nix-gaming",
-        "rev": "8582d6d908005589e1e0818da7558d63edbbbaf2",
+        "rev": "8ae51ad90e1c75b8b77102240a02b6dea65fc15a",
         "type": "github"
       },
       "original": {
@@ -1284,11 +1284,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1745526248,
-        "narHash": "sha256-J5JT079hfkkKTzTaLnpKAQarZD81FKRYDoej+aQD8+g=",
+        "lastModified": 1745545091,
+        "narHash": "sha256-300Y7RoU/wefVDmit6b89HvhBk6h8l1t9VVDo0diEK4=",
         "owner": "kaylorben",
         "repo": "nixcord",
-        "rev": "f5720c0e0ea8ce733892af38d251b4d1bd06e78e",
+        "rev": "f5dd48df2e39d2b2cf9b5bad20997e88704f6a5e",
         "type": "github"
       },
       "original": {
@@ -1776,11 +1776,11 @@
     "spotifyplus-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1745507481,
-        "narHash": "sha256-IFSGGUn/ojpqOBOUM2YJgzY7z3Z5HOBaA+M15OoTpAk=",
+        "lastModified": 1745615717,
+        "narHash": "sha256-rFj4s+UyravPAUX1J1L9xj27eATHVkJm/rlDqoNzeZQ=",
         "owner": "thlucas1",
         "repo": "homeassistantcomponent_spotifyplus",
-        "rev": "851b0c09e8c78639ebb81700cda4e61153c3df48",
+        "rev": "f327c86198e5d55c2879b2af0014d463271598de",
         "type": "github"
       },
       "original": {
@@ -1875,11 +1875,11 @@
     "tuya-local-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1745310688,
-        "narHash": "sha256-7aDmUrGTPXF6j0obAQq9bLj53cBz0rGWiGScpqvccsU=",
+        "lastModified": 1745591117,
+        "narHash": "sha256-UzAu6sm1Qtb5j7V0EgwdhyyrFS8dyNzv/0Db2MifJyw=",
         "owner": "make-all",
         "repo": "tuya-local",
-        "rev": "0092b5041386d3a42ec66414bcb14d28778675f2",
+        "rev": "f59636f8bfdfecdd11846191fab18b922533cb44",
         "type": "github"
       },
       "original": {
@@ -1907,11 +1907,11 @@
     "vimplugin-roslyn-nvim-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1745515849,
-        "narHash": "sha256-B+6GrmC4AhmAII2Y1q3ALL3GAaXksXkpiCsU191l/ak=",
+        "lastModified": 1745571913,
+        "narHash": "sha256-BCjmt1XjfTeSNWWwnxStMFRpZUTlT+b9tuTUATRuzT0=",
         "owner": "seblj",
         "repo": "roslyn.nvim",
-        "rev": "817983daa584d21f45d937928c87ba165b2a601a",
+        "rev": "353bc0f30076b82d027a554229995f1e0fa1c5e1",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index 7f937c00..5f27b3a7 100644
--- a/flake.nix
+++ b/flake.nix
@@ -146,7 +146,7 @@
       };
       owner = "horriblename";
       repo = "hyprgrass";
-      rev = "dab59fb9ddb29e90c868d42a3486dd51d2863cfe";
+      rev = "669f8c80a15e9db815ac9e29068567735b9b1a79";
       type = "github";
     };
     hyprland = {
diff --git a/inputs/default.nix b/inputs/default.nix
index 02567f3f..8ea73d85 100644
--- a/inputs/default.nix
+++ b/inputs/default.nix
@@ -175,7 +175,7 @@ let
         repo = "hyprgrass";
 
         # FIXME: https://github.com/horriblename/hyprgrass/pull/232
-        rev = "dab59fb9ddb29e90c868d42a3486dd51d2863cfe";
+        rev = "669f8c80a15e9db815ac9e29068567735b9b1a79";
       };
 
       hyprpaper = mkHyprDep {
diff --git a/modules/ags/config/default.nix b/modules/ags/config/default.nix
index 7ac7a691..e17ec9e4 100644
--- a/modules/ags/config/default.nix
+++ b/modules/ags/config/default.nix
@@ -1,3 +1,3 @@
 {
-  npmDepsHash = "sha256-MOkQhi4EOcf85XvFcOd9T878ycDOBcWfmc7Oawwists=";
+  npmDepsHash = "sha256-vFmoRCPuSV8MJPzvnYPOEivmKKRdpWwCJ5ij3UhUB6I=";
 }
diff --git a/modules/ags/config/package-lock.json b/modules/ags/config/package-lock.json
index ee6a4db2..b935798c 100644
--- a/modules/ags/config/package-lock.json
+++ b/modules/ags/config/package-lock.json
@@ -12,7 +12,7 @@
                 "@stylistic/eslint-plugin": "4.2.0",
                 "astal": "https://gitpkg.vercel.app/Aylur/astal/lang/gjs/src?c96126c7e261737270ad7ae35b27674c318648e6",
                 "eslint": "9.25.1",
-                "eslint-plugin-jsdoc": "50.6.10",
+                "eslint-plugin-jsdoc": "50.6.11",
                 "fzf": "0.5.2",
                 "jiti": "2.4.2",
                 "typescript-eslint": "8.31.0"
@@ -770,9 +770,9 @@
             }
         },
         "node_modules/eslint-plugin-jsdoc": {
-            "version": "50.6.10",
-            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.10.tgz",
-            "integrity": "sha512-HJRMrRIXjWtDyU6yar8xvdKMc1waSAfE6vRjEWBpws6pYeoVyCFtQQneEBnQkHXOV60idH5ymo/bh1XNBOTQmA==",
+            "version": "50.6.11",
+            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.11.tgz",
+            "integrity": "sha512-k4+MnBCGR8cuIB5MZ++FGd4gbXxjob2rX1Nq0q3nWFF4xSGZENTgTLZSjb+u9B8SAnP6lpGV2FJrBjllV3pVSg==",
             "license": "BSD-3-Clause",
             "dependencies": {
                 "@es-joy/jsdoccomment": "~0.49.0",
diff --git a/modules/ags/config/package.json b/modules/ags/config/package.json
index 56585d41..8232fcb5 100644
--- a/modules/ags/config/package.json
+++ b/modules/ags/config/package.json
@@ -7,7 +7,7 @@
         "@eslint/js": "9.25.1",
         "@stylistic/eslint-plugin": "4.2.0",
         "eslint": "9.25.1",
-        "eslint-plugin-jsdoc": "50.6.10",
+        "eslint-plugin-jsdoc": "50.6.11",
         "fzf": "0.5.2",
         "jiti": "2.4.2",
         "typescript-eslint": "8.31.0"