diff --git a/apps/config/package-lock.json b/apps/config/package-lock.json
index 48da4a1c..947a26f3 100644
--- a/apps/config/package-lock.json
+++ b/apps/config/package-lock.json
@@ -8,9 +8,9 @@
             "name": "eslint-conf",
             "version": "0.0.0",
             "devDependencies": {
-                "@eslint/js": "9.19.0",
-                "@stylistic/eslint-plugin": "3.0.1",
-                "eslint": "9.19.0",
+                "@eslint/js": "9.20.0",
+                "@stylistic/eslint-plugin": "3.1.0",
+                "eslint": "9.20.0",
                 "eslint-plugin-jsdoc": "50.6.3",
                 "jiti": "2.4.2",
                 "pkg-types": "1.3.1",
@@ -173,9 +173,9 @@
             }
         },
         "node_modules/@eslint/js": {
-            "version": "9.19.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz",
-            "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==",
+            "version": "9.20.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz",
+            "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==",
             "dev": true,
             "license": "MIT",
             "engines": {
@@ -324,9 +324,9 @@
             }
         },
         "node_modules/@stylistic/eslint-plugin": {
-            "version": "3.0.1",
-            "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.0.1.tgz",
-            "integrity": "sha512-rQ3tcT5N2cynofJfbjUsnL4seoewTaOVBLyUEwtNldo7iNMPo3h/GUQk+Cl3iHEWwRxjq2wuH6q0FufQrbVL1A==",
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.1.0.tgz",
+            "integrity": "sha512-pA6VOrOqk0+S8toJYhQGv2MWpQQR0QpeUo9AhNkC49Y26nxBQ/nH1rta9bUU1rPw2fJ1zZEMV5oCX5AazT7J2g==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
@@ -772,18 +772,18 @@
             }
         },
         "node_modules/eslint": {
-            "version": "9.19.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz",
-            "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==",
+            "version": "9.20.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.0.tgz",
+            "integrity": "sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA==",
             "dev": true,
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@eslint-community/regexpp": "^4.12.1",
                 "@eslint/config-array": "^0.19.0",
-                "@eslint/core": "^0.10.0",
+                "@eslint/core": "^0.11.0",
                 "@eslint/eslintrc": "^3.2.0",
-                "@eslint/js": "9.19.0",
+                "@eslint/js": "9.20.0",
                 "@eslint/plugin-kit": "^0.2.5",
                 "@humanfs/node": "^0.16.6",
                 "@humanwhocodes/module-importer": "^1.0.1",
@@ -887,6 +887,19 @@
                 "url": "https://opencollective.com/eslint"
             }
         },
+        "node_modules/eslint/node_modules/@eslint/core": {
+            "version": "0.11.0",
+            "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz",
+            "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==",
+            "dev": true,
+            "license": "Apache-2.0",
+            "dependencies": {
+                "@types/json-schema": "^7.0.15"
+            },
+            "engines": {
+                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+            }
+        },
         "node_modules/eslint/node_modules/brace-expansion": {
             "version": "1.1.11",
             "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
diff --git a/apps/config/package.json b/apps/config/package.json
index ec829f46..2197e016 100644
--- a/apps/config/package.json
+++ b/apps/config/package.json
@@ -4,9 +4,9 @@
     "type": "module",
     "exports": "./index.ts",
     "devDependencies": {
-        "@eslint/js": "9.19.0",
-        "@stylistic/eslint-plugin": "3.0.1",
-        "eslint": "9.19.0",
+        "@eslint/js": "9.20.0",
+        "@stylistic/eslint-plugin": "3.1.0",
+        "eslint": "9.20.0",
         "eslint-plugin-jsdoc": "50.6.3",
         "jiti": "2.4.2",
         "pkg-types": "1.3.1",
diff --git a/apps/pin-inputs/default.nix b/apps/pin-inputs/default.nix
index 84cce7ad..9101befe 100644
--- a/apps/pin-inputs/default.nix
+++ b/apps/pin-inputs/default.nix
@@ -1,7 +1,7 @@
 {buildApp, ...}:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-1641Ek7hDwlMqWt8JpTgP4jmNwKP74W5zZVZ5cmRj3A=";
+  npmDepsHash = "sha256-6bq4n8frTkIEPclqMmyBYpMu2cA9W4UlQtxdd4IZ45k=";
 
   runtimeInputs = [];
 
diff --git a/apps/pin-inputs/package-lock.json b/apps/pin-inputs/package-lock.json
index 83b43c49..aae22062 100644
--- a/apps/pin-inputs/package-lock.json
+++ b/apps/pin-inputs/package-lock.json
@@ -25,9 +25,9 @@
             "version": "0.0.0",
             "dev": true,
             "devDependencies": {
-                "@eslint/js": "9.19.0",
-                "@stylistic/eslint-plugin": "3.0.1",
-                "eslint": "9.19.0",
+                "@eslint/js": "9.20.0",
+                "@stylistic/eslint-plugin": "3.1.0",
+                "eslint": "9.20.0",
                 "eslint-plugin-jsdoc": "50.6.3",
                 "jiti": "2.4.2",
                 "pkg-types": "1.3.1",
diff --git a/configurations/cluster/modules/caddy/plugins.nix b/configurations/cluster/modules/caddy/plugins.nix
index ccec2173..4e234873 100644
--- a/configurations/cluster/modules/caddy/plugins.nix
+++ b/configurations/cluster/modules/caddy/plugins.nix
@@ -7,5 +7,5 @@
     };
   };
 
-  hash = "sha256-jCcSzenewQiW897GFHF9WAcVkGaS/oUu63crJu7AyyQ=";
+  hash = "sha256-JVkUkDKdat4aALJHQCq1zorJivVCdyBT+7UhqTvaFLw=";
 }
diff --git a/configurations/nos/modules/docker/forgejo/images/forgejo.nix b/configurations/nos/modules/docker/forgejo/images/forgejo.nix
index a8def063..28c8dbd6 100644
--- a/configurations/nos/modules/docker/forgejo/images/forgejo.nix
+++ b/configurations/nos/modules/docker/forgejo/images/forgejo.nix
@@ -1,8 +1,8 @@
 pkgs:
 pkgs.dockerTools.pullImage rec {
   imageName = "codeberg.org/forgejo/forgejo";
-  imageDigest = "sha256:3c34f11fe8b9983096eef3f8f25c2d2c21c4ae7504960cb203f0b075d1d8ed73";
-  hash = "sha256-pUao0O0BMMGLfH+h7Pqs0RuoarP8zQOH3/JMif1D7RA=";
+  imageDigest = "sha256:7bb6f1e34a5669f634948ecb613c301bf756de93e8ecc1247d57012d4d649e64";
+  hash = "sha256-WPHM0TWSWeuUR2UetarNniCf6qWvprIGO/8sod3xHV8=";
   finalImageName = imageName;
-  finalImageTag = "9";
+  finalImageTag = "10";
 }
diff --git a/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix b/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix
index 162aab79..1b468beb 100644
--- a/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix
+++ b/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix
@@ -1,8 +1,8 @@
 pkgs:
 pkgs.dockerTools.pullImage rec {
   imageName = "rssbridge/rss-bridge";
-  imageDigest = "sha256:11c0748af64453e7cce670c47a6f2f7b2f6724ee3c6bf5cd87c7ad85b98e0070";
-  hash = "sha256-5EmopZBvKKKpKp8wnrR57wCrBiDPgg5lFlgQGL83OtQ=";
+  imageDigest = "sha256:c916ebd227c19c1dbe81f2cd594678c7bf6f07ef2d34b3e2f12816d205261109";
+  hash = "sha256-7kJQ+393WHOJ5x0a7TNvFx12lKTygMLn8MBr8++kKUA=";
   finalImageName = imageName;
   finalImageTag = "latest";
 }
diff --git a/configurations/nos/modules/docker/media/sonarr/images/sonarr.nix b/configurations/nos/modules/docker/media/sonarr/images/sonarr.nix
index 367101a0..da112d3b 100644
--- a/configurations/nos/modules/docker/media/sonarr/images/sonarr.nix
+++ b/configurations/nos/modules/docker/media/sonarr/images/sonarr.nix
@@ -1,8 +1,8 @@
 pkgs:
 pkgs.dockerTools.pullImage rec {
   imageName = "ghcr.io/linuxserver/sonarr";
-  imageDigest = "sha256:47ce6f3b2afb17c12b393da2fefb11718f15cd1308baeba1cb61cbbbb9c5aedc";
-  hash = "sha256-dbkIpkLnZXVFK2dDhNWqPCGh6byus6AnTre6tj9fn1s=";
+  imageDigest = "sha256:20b81f5054d31f0151be3c5e282a85361cc24b7ffaab67a997bb4379caa8485b";
+  hash = "sha256-3OTC4EDZlZw0zWbhKDm29oBHfr3CZlho7SJ+o+wL+xY=";
   finalImageName = imageName;
   finalImageTag = "latest";
 }
diff --git a/flake.lock b/flake.lock
index 9cd82d1d..458093de 100644
--- a/flake.lock
+++ b/flake.lock
@@ -63,11 +63,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738849622,
+        "lastModified": 1738959920,
         "narHash": "sha256-/MiSM0DbXOhgufZrZuf4q3EEMA5E+7vPXi1HxT1e8AE=",
         "owner": "Aylur",
         "repo": "astal",
-        "rev": "c0eaca24dc7bc9f0091def5a37b14173e5bfd29e",
+        "rev": "5e0e00e148af0f173ca0883bc2fbbfb103d81f36",
         "type": "github"
       },
       "original": {
@@ -170,11 +170,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738686635,
-        "narHash": "sha256-ueysbrbb5IMoHDTyCicJ4yzFHsYao7XUaDuMdLEMgkA=",
+        "lastModified": 1739041700,
+        "narHash": "sha256-zmxerH/BYEqUaREqBtN5J2w1NPMthbNTf3KUDJPPr/M=",
         "owner": "matt1432",
         "repo": "nixos-docker-compose",
-        "rev": "2d202ac11867fab295ddd03acada4fa8ad4e1612",
+        "rev": "c014106b9c55952b3854118b715c0585e5ffd36f",
         "type": "github"
       },
       "original": {
@@ -394,11 +394,11 @@
     "gpu-screen-recorder-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1738803440,
-        "narHash": "sha256-MOR7+Z0y2tKMyPv5gw6gbZnvoIe5v0HFI3x3yvd8PpY=",
+        "lastModified": 1739046726,
+        "narHash": "sha256-UtZJlTKPbjZWLxUoLRQJsjn4fttrAqKOd58z5yf051k=",
         "ref": "refs/heads/master",
-        "rev": "4ac5da0c1c56e157df5e8d0cf138c923787a35e2",
-        "revCount": 958,
+        "rev": "1b8d3b3f561cbf9580abb0ed929768876f925ca2",
+        "revCount": 961,
         "type": "git",
         "url": "https://repo.dec05eba.com/gpu-screen-recorder"
       },
@@ -489,11 +489,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738841109,
-        "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=",
+        "lastModified": 1739044880,
+        "narHash": "sha256-l+bzq9rsBIQQnBtGayJeOS30L53+mYPjgfQALi20XDg=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407",
+        "rev": "bf9a1a068919ccdfa7d130873936c5fd4c826e85",
         "type": "github"
       },
       "original": {
@@ -602,11 +602,11 @@
         "xdph": "xdph"
       },
       "locked": {
-        "lastModified": 1738845740,
-        "narHash": "sha256-MFc05F/kUpJ7+XiGNFyqlHQH9+7ImAtDlyzIgmI475M=",
+        "lastModified": 1739048455,
+        "narHash": "sha256-hn3GGgilLPezJlIm82SZYN7jpIgbjVBELsGORIoYx+0=",
         "owner": "hyprwm",
         "repo": "Hyprland",
-        "rev": "acbcf0cf115d55ef80a75ded3223a9e098f77541",
+        "rev": "8e10ddb592977ef2e1836e75b0e5550ba8fb56f0",
         "type": "github"
       },
       "original": {
@@ -628,11 +628,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738612236,
-        "narHash": "sha256-IGp1AcZvYZ/R+AO0Znd+i+eQuEnQfkg/6AshoYPyUIg=",
+        "lastModified": 1738966025,
+        "narHash": "sha256-MzgrF0jKlTNnNS33D8PwI5z2MJ1Tzf5MQVf/oms2pdw=",
         "owner": "hyprwm",
         "repo": "hyprland-plugins",
-        "rev": "6d525bcfea005d399f4f603f6d9321f7281ddb6e",
+        "rev": "4f48dbe12f3cbbeb4d31c91c67b21edbc5b4b451",
         "type": "github"
       },
       "original": {
@@ -882,11 +882,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738656811,
-        "narHash": "sha256-z7Dzz713ueSQJYSdsWcH+D7o2pbq/sAl7/nBxru5oNA=",
+        "lastModified": 1738875499,
+        "narHash": "sha256-P3VbO2IkEW+0d0pJU7CuX8e+obSoiDw/YCVL1mnA26w=",
         "owner": "Jovian-Experiments",
         "repo": "Jovian-NixOS",
-        "rev": "cd9caf9afb1c8fe848f140a7831fe462b73df91a",
+        "rev": "4642ec1073a7417e6303484d8f2e7d29dc24a50f",
         "type": "github"
       },
       "original": {
@@ -908,11 +908,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738254955,
-        "narHash": "sha256-0ybfGEo9E4WPXfSbFuwzoNcZdDLBB8zAWmFH7UAO66U=",
+        "lastModified": 1738924732,
+        "narHash": "sha256-4cWpoz8UEWyDiRuSmhZ3yWjlUIrsWxHLEuUu/vhp1xg=",
         "owner": "kotontrion",
         "repo": "kompass",
-        "rev": "d3ae1df3155ad3904c9d1a0800d7acd4338e683c",
+        "rev": "e312a5715edd1b02576afd39bbe0588c6045e7c1",
         "type": "github"
       },
       "original": {
@@ -1014,11 +1014,11 @@
     "modernz-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1738684967,
-        "narHash": "sha256-FuhMfd1UkMG5j7xwp/tyrtJIq9WD3C+cnJQ/tcy2S04=",
+        "lastModified": 1739032311,
+        "narHash": "sha256-r6T5iXICXGagbMbIzA1fkNHDE0dIpuGk/l2cBFwbfUo=",
         "owner": "Samillion",
         "repo": "ModernZ",
-        "rev": "23b0d4d16587ab063ff7ed95d0a6ae0df23ace14",
+        "rev": "1b8d849242ab293b6e41fc5dffd01a1b0fde5723",
         "type": "github"
       },
       "original": {
@@ -1314,11 +1314,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738798208,
-        "narHash": "sha256-53AbnsaNfgpMRGUm3YH28i1tuHwq1B/rOxkDAEorTm4=",
+        "lastModified": 1739009891,
+        "narHash": "sha256-H3QgHEQhr8aAqrCTeJ2qZekAuzw2HhCnuzzeyxB0wbk=",
         "owner": "kaylorben",
         "repo": "nixcord",
-        "rev": "df5dd38118c45d54755e53b1f97b51341ac8ac2e",
+        "rev": "677db34f35bdffcdca07246099ea3b22fc6688dc",
         "type": "github"
       },
       "original": {
@@ -1356,11 +1356,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1738680400,
-        "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
+        "lastModified": 1739020877,
+        "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "799ba5bffed04ced7067a91798353d360788b30d",
+        "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
         "type": "github"
       },
       "original": {
@@ -1430,11 +1430,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738846875,
-        "narHash": "sha256-LCTSX+oX6Kc2qWfzx8ZG/Xk0j2skwQW1hqK6Wo7/jnA=",
+        "lastModified": 1739018823,
+        "narHash": "sha256-y8zguLmANpF2QBKTYOCu7fJFWcm2cMPFSe/qRq/IY+I=",
         "owner": "nix-community",
         "repo": "nixpkgs-wayland",
-        "rev": "38f111837a193cc42256e90eea213c3041c7c37f",
+        "rev": "c839b1db2d7c8e95ef3b970274762569e1858bb4",
         "type": "github"
       },
       "original": {
@@ -1858,11 +1858,11 @@
     "spotifyplus-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1738770983,
-        "narHash": "sha256-7pG/BO6EPhZIMj8MBY5z4va2kJLkXPA6OUPYDDTYuDQ=",
+        "lastModified": 1738945834,
+        "narHash": "sha256-KRS4RWSaHCv07djbdD19SIv77ljEvHnfikZI9d4S+2U=",
         "owner": "thlucas1",
         "repo": "homeassistantcomponent_spotifyplus",
-        "rev": "2ca74b7e8ea299d64a9a55bbb719e2e128441d32",
+        "rev": "5591039fe08feb61d051b8fb9d61984b08412c81",
         "type": "github"
       },
       "original": {
@@ -1941,11 +1941,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1738680491,
-        "narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=",
+        "lastModified": 1738953846,
+        "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "64dbb922d51a42c0ced6a7668ca008dded61c483",
+        "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd",
         "type": "github"
       },
       "original": {
@@ -1973,11 +1973,11 @@
     "tuya-local-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1738853043,
-        "narHash": "sha256-EPKgW2E4SkxNUYVSjSXaYn+/gSkr5qBwxaVegXtM9Kc=",
+        "lastModified": 1739027119,
+        "narHash": "sha256-jBv1Z7rOiZatRo85YXlbWBWREUjXTOIg3zEVZSxlFBY=",
         "owner": "make-all",
         "repo": "tuya-local",
-        "rev": "252fce83c823c2dad7e0835785746f8b5d44ed20",
+        "rev": "a37e4c0a0abbc171666edccd5b858eda09d6d2dd",
         "type": "github"
       },
       "original": {
@@ -2005,11 +2005,11 @@
     "vimplugin-roslyn-nvim-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1738790514,
-        "narHash": "sha256-KTwMtJe9b8woiejS5wlr+dCPCcqVmThZgibu4O1CQD0=",
+        "lastModified": 1738924076,
+        "narHash": "sha256-vmHSa5AGQ8q6kCTgCqcD5yGlifK0ODcQjaxubUjLIx4=",
         "owner": "seblj",
         "repo": "roslyn.nvim",
-        "rev": "4c55dedb5e47ba551c8c1ef9acd4896cdc29158c",
+        "rev": "fcf98a8ee39f34287cec3cafdef7f95583e412db",
         "type": "github"
       },
       "original": {
diff --git a/modules/ags/config/default.nix b/modules/ags/config/default.nix
index 684e2d4d..b9497314 100644
--- a/modules/ags/config/default.nix
+++ b/modules/ags/config/default.nix
@@ -1,3 +1,3 @@
 {
-  npmDepsHash = "sha256-/+XM8Zv9k3IZ+nxtwGn36y0xF7WFzAdg1oGEMWkzbvM=";
+  npmDepsHash = "sha256-+AqlRjjxSQnsgnKNJdbM+99flD0kqyfC5l6C2abEYCI=";
 }
diff --git a/modules/ags/config/package-lock.json b/modules/ags/config/package-lock.json
index 8cadba09..9b603352 100644
--- a/modules/ags/config/package-lock.json
+++ b/modules/ags/config/package-lock.json
@@ -8,10 +8,10 @@
             "name": "ags",
             "version": "0.0.0",
             "dependencies": {
-                "@eslint/js": "9.19.0",
-                "@stylistic/eslint-plugin": "3.0.1",
+                "@eslint/js": "9.20.0",
+                "@stylistic/eslint-plugin": "3.1.0",
                 "astal": "https://gitpkg.vercel.app/Aylur/astal/lang/gjs/src?main",
-                "eslint": "9.19.0",
+                "eslint": "9.20.0",
                 "eslint-plugin-jsdoc": "50.6.3",
                 "fzf": "0.5.2",
                 "jiti": "2.4.2",
@@ -108,9 +108,9 @@
             }
         },
         "node_modules/@eslint/core": {
-            "version": "0.10.0",
-            "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz",
-            "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==",
+            "version": "0.11.0",
+            "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz",
+            "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==",
             "license": "Apache-2.0",
             "dependencies": {
                 "@types/json-schema": "^7.0.15"
@@ -165,9 +165,9 @@
             }
         },
         "node_modules/@eslint/js": {
-            "version": "9.19.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz",
-            "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==",
+            "version": "9.20.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz",
+            "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==",
             "license": "MIT",
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -195,6 +195,18 @@
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
             }
         },
+        "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
+            "version": "0.10.0",
+            "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz",
+            "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==",
+            "license": "Apache-2.0",
+            "dependencies": {
+                "@types/json-schema": "^7.0.15"
+            },
+            "engines": {
+                "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+            }
+        },
         "node_modules/@humanfs/core": {
             "version": "0.19.1",
             "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
@@ -304,9 +316,9 @@
             }
         },
         "node_modules/@stylistic/eslint-plugin": {
-            "version": "3.0.1",
-            "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.0.1.tgz",
-            "integrity": "sha512-rQ3tcT5N2cynofJfbjUsnL4seoewTaOVBLyUEwtNldo7iNMPo3h/GUQk+Cl3iHEWwRxjq2wuH6q0FufQrbVL1A==",
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.1.0.tgz",
+            "integrity": "sha512-pA6VOrOqk0+S8toJYhQGv2MWpQQR0QpeUo9AhNkC49Y26nxBQ/nH1rta9bUU1rPw2fJ1zZEMV5oCX5AazT7J2g==",
             "license": "MIT",
             "dependencies": {
                 "@typescript-eslint/utils": "^8.13.0",
@@ -575,7 +587,7 @@
         },
         "node_modules/astal": {
             "resolved": "https://gitpkg.vercel.app/Aylur/astal/lang/gjs/src?main",
-            "integrity": "sha512-RUpQRsAIm+7LhUc1Apy3dlXaAnz9Xm5EyoKSanYI04ebAIft3NtZWPrh9ZzvrIeszbNwsceRDTXrZlR8YbWibw==",
+            "integrity": "sha512-E0g0ZzuD2NKiwOa5w1aTXztkpFiyNyNqN5stJLYV6oN4ErY6C5qu/67diPTHJsvlj9WTCuzginnN65r+ygbUtw==",
             "license": "LGPL-2.1"
         },
         "node_modules/balanced-match": {
@@ -719,17 +731,17 @@
             }
         },
         "node_modules/eslint": {
-            "version": "9.19.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz",
-            "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==",
+            "version": "9.20.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.0.tgz",
+            "integrity": "sha512-aL4F8167Hg4IvsW89ejnpTwx+B/UQRzJPGgbIOl+4XqffWsahVVsLEWoZvnrVuwpWmnRd7XeXmQI1zlKcFDteA==",
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@eslint-community/regexpp": "^4.12.1",
                 "@eslint/config-array": "^0.19.0",
-                "@eslint/core": "^0.10.0",
+                "@eslint/core": "^0.11.0",
                 "@eslint/eslintrc": "^3.2.0",
-                "@eslint/js": "9.19.0",
+                "@eslint/js": "9.20.0",
                 "@eslint/plugin-kit": "^0.2.5",
                 "@humanfs/node": "^0.16.6",
                 "@humanwhocodes/module-importer": "^1.0.1",
diff --git a/modules/ags/config/package.json b/modules/ags/config/package.json
index 55ce3e2b..9f524e54 100644
--- a/modules/ags/config/package.json
+++ b/modules/ags/config/package.json
@@ -4,9 +4,9 @@
     "main": "app.ts",
     "dependencies": {
         "astal": "https://gitpkg.vercel.app/Aylur/astal/lang/gjs/src?main",
-        "@eslint/js": "9.19.0",
-        "@stylistic/eslint-plugin": "3.0.1",
-        "eslint": "9.19.0",
+        "@eslint/js": "9.20.0",
+        "@stylistic/eslint-plugin": "3.1.0",
+        "eslint": "9.20.0",
         "eslint-plugin-jsdoc": "50.6.3",
         "fzf": "0.5.2",
         "jiti": "2.4.2",
diff --git a/scopedPackages/firefox-addons/generated-firefox-addons.nix b/scopedPackages/firefox-addons/generated-firefox-addons.nix
index 0fe00c9b..258c15c5 100644
--- a/scopedPackages/firefox-addons/generated-firefox-addons.nix
+++ b/scopedPackages/firefox-addons/generated-firefox-addons.nix
@@ -82,10 +82,10 @@
   };
   "darkreader" = buildFirefoxXpiAddon {
     pname = "darkreader";
-    version = "4.9.99";
+    version = "4.9.100";
     addonId = "addon@darkreader.org";
-    url = "https://addons.mozilla.org/firefox/downloads/file/4405074/darkreader-4.9.99.xpi";
-    sha256 = "02c67ce2b3cd96719b5e369b9207ef11ed6c3a79eccb454d1e6ec3e005004e72";
+    url = "https://addons.mozilla.org/firefox/downloads/file/4427854/darkreader-4.9.100.xpi";
+    sha256 = "9ad477dffe36d7337617fbf1c8ee8b6abb7bb681caed1b8bfe87bbed5a424302";
     meta = with lib; {
       homepage = "https://darkreader.org/";
       description = "Dark mode for every website. Take care of your eyes, use dark theme for night and daily browsing.";