diff --git a/apps/config/package-lock.json b/apps/config/package-lock.json
index c6d2bf15..c5e529ad 100644
--- a/apps/config/package-lock.json
+++ b/apps/config/package-lock.json
@@ -15,7 +15,7 @@
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
-                "typescript-eslint": "8.29.1"
+                "typescript-eslint": "8.30.1"
             }
         },
         "node_modules/@es-joy/jsdoccomment": {
@@ -344,16 +344,16 @@
             "license": "MIT"
         },
         "node_modules/@typescript-eslint/eslint-plugin": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz",
-            "integrity": "sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz",
+            "integrity": "sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==",
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/regexpp": "^4.10.0",
-                "@typescript-eslint/scope-manager": "8.29.1",
-                "@typescript-eslint/type-utils": "8.29.1",
-                "@typescript-eslint/utils": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1",
+                "@typescript-eslint/scope-manager": "8.30.1",
+                "@typescript-eslint/type-utils": "8.30.1",
+                "@typescript-eslint/utils": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.3.1",
                 "natural-compare": "^1.4.0",
@@ -373,15 +373,15 @@
             }
         },
         "node_modules/@typescript-eslint/parser": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.1.tgz",
-            "integrity": "sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.30.1.tgz",
+            "integrity": "sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/scope-manager": "8.29.1",
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/typescript-estree": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1",
+                "@typescript-eslint/scope-manager": "8.30.1",
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/typescript-estree": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1",
                 "debug": "^4.3.4"
             },
             "engines": {
@@ -397,13 +397,13 @@
             }
         },
         "node_modules/@typescript-eslint/scope-manager": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz",
-            "integrity": "sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz",
+            "integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1"
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -414,13 +414,13 @@
             }
         },
         "node_modules/@typescript-eslint/type-utils": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz",
-            "integrity": "sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz",
+            "integrity": "sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/typescript-estree": "8.29.1",
-                "@typescript-eslint/utils": "8.29.1",
+                "@typescript-eslint/typescript-estree": "8.30.1",
+                "@typescript-eslint/utils": "8.30.1",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^2.0.1"
             },
@@ -437,9 +437,9 @@
             }
         },
         "node_modules/@typescript-eslint/types": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.1.tgz",
-            "integrity": "sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz",
+            "integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==",
             "license": "MIT",
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -450,13 +450,13 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz",
-            "integrity": "sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz",
+            "integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1",
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1",
                 "debug": "^4.3.4",
                 "fast-glob": "^3.3.2",
                 "is-glob": "^4.0.3",
@@ -476,15 +476,15 @@
             }
         },
         "node_modules/@typescript-eslint/utils": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.1.tgz",
-            "integrity": "sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz",
+            "integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==",
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.4.0",
-                "@typescript-eslint/scope-manager": "8.29.1",
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/typescript-estree": "8.29.1"
+                "@typescript-eslint/scope-manager": "8.30.1",
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/typescript-estree": "8.30.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -499,12 +499,12 @@
             }
         },
         "node_modules/@typescript-eslint/visitor-keys": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz",
-            "integrity": "sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz",
+            "integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.29.1",
+                "@typescript-eslint/types": "8.30.1",
                 "eslint-visitor-keys": "^4.2.0"
             },
             "engines": {
@@ -1659,14 +1659,14 @@
             }
         },
         "node_modules/typescript-eslint": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.1.tgz",
-            "integrity": "sha512-f8cDkvndhbQMPcysk6CUSGBWV+g1utqdn71P5YKwMumVMOG/5k7cHq0KyG4O52nB0oKS4aN2Tp5+wB4APJGC+w==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.30.1.tgz",
+            "integrity": "sha512-D7lC0kcehVH7Mb26MRQi64LMyRJsj3dToJxM1+JVTl53DQSV5/7oUGWQLcKl1C1KnoVHxMMU2FNQMffr7F3Row==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/eslint-plugin": "8.29.1",
-                "@typescript-eslint/parser": "8.29.1",
-                "@typescript-eslint/utils": "8.29.1"
+                "@typescript-eslint/eslint-plugin": "8.30.1",
+                "@typescript-eslint/parser": "8.30.1",
+                "@typescript-eslint/utils": "8.30.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
diff --git a/apps/config/package.json b/apps/config/package.json
index bd9d7a0e..d2a4998c 100644
--- a/apps/config/package.json
+++ b/apps/config/package.json
@@ -11,6 +11,6 @@
         "jiti": "2.4.2",
         "pkg-types": "2.1.0",
         "typescript": "5.8.3",
-        "typescript-eslint": "8.29.1"
+        "typescript-eslint": "8.30.1"
     }
 }
diff --git a/apps/list2series/default.nix b/apps/list2series/default.nix
index 838a4d78..0e176277 100644
--- a/apps/list2series/default.nix
+++ b/apps/list2series/default.nix
@@ -1,7 +1,7 @@
 {buildApp, ...}:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-xllXwbvxYz7HKolKqpT0RZlHf7iYNZ8dWcpThRmrCmU=";
+  npmDepsHash = "sha256-Kh9xvY3QpxCzhr/xRdlrRphHr7BeyCR65t1zaP8v4IM=";
 
   runtimeInputs = [];
 
diff --git a/apps/list2series/package-lock.json b/apps/list2series/package-lock.json
index d493d181..d1194e8d 100644
--- a/apps/list2series/package-lock.json
+++ b/apps/list2series/package-lock.json
@@ -35,7 +35,7 @@
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
-                "typescript-eslint": "8.29.1"
+                "typescript-eslint": "8.30.1"
             }
         },
         "node_modules/@esbuild/aix-ppc64": {
diff --git a/apps/mc-mods/default.nix b/apps/mc-mods/default.nix
index c6107d52..cb1369c1 100644
--- a/apps/mc-mods/default.nix
+++ b/apps/mc-mods/default.nix
@@ -5,7 +5,7 @@
 }:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-IIMIA9V+aYJxdvwys82ea/fcnUid/pVRNtM0w/wt66Y=";
+  npmDepsHash = "sha256-nO34xFJHlkS7RM5Qu4oe85Nw3Jj8VmhdRSDNBeq78Zg=";
 
   runtimeInputs = [
     nodejs_latest
diff --git a/apps/mc-mods/package-lock.json b/apps/mc-mods/package-lock.json
index 07c94af3..72be31c6 100644
--- a/apps/mc-mods/package-lock.json
+++ b/apps/mc-mods/package-lock.json
@@ -34,7 +34,7 @@
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
-                "typescript-eslint": "8.29.1"
+                "typescript-eslint": "8.30.1"
             }
         },
         "node_modules/@esbuild/aix-ppc64": {
diff --git a/apps/pin-inputs/default.nix b/apps/pin-inputs/default.nix
index ca8c32c1..15b1e9c8 100644
--- a/apps/pin-inputs/default.nix
+++ b/apps/pin-inputs/default.nix
@@ -1,7 +1,7 @@
 {buildApp, ...}:
 buildApp {
   src = ./.;
-  npmDepsHash = "sha256-521CPFrk38VTlNsufxkf0JXVu4I/hDGCTwd9uxedRVo=";
+  npmDepsHash = "sha256-zb/YuACgQYfX0sKFt+eDjyawu+mufRwDEZd3KBrYZs0=";
 
   runtimeInputs = [];
 
diff --git a/apps/pin-inputs/package-lock.json b/apps/pin-inputs/package-lock.json
index 70b0e445..57a07485 100644
--- a/apps/pin-inputs/package-lock.json
+++ b/apps/pin-inputs/package-lock.json
@@ -34,7 +34,7 @@
                 "jiti": "2.4.2",
                 "pkg-types": "2.1.0",
                 "typescript": "5.8.3",
-                "typescript-eslint": "8.29.1"
+                "typescript-eslint": "8.30.1"
             }
         },
         "node_modules/@esbuild/aix-ppc64": {
diff --git a/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix b/configurations/nos/modules/docker/freshrss/images/rss-bridge.nix
index 468d60e2..737f9af6 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:539383a3c5ee42594fac9cec10da8f9bd36adf5cd415a476a85cd9c36db735a9";
-  hash = "sha256-p/OZl9vwgpd1zRiQ49F7mGkdz0/+IPTJ7Eb4g+7jAW4=";
+  imageDigest = "sha256:bada251086dbe3945b1fe79e1bbdd6cbf51eb4ae4ab115617928ebeabe38699d";
+  hash = "sha256-tHESEgImbH9FXnUqNU8RO0TWHGuVKDbPLv0/QEXtDY8=";
   finalImageName = imageName;
   finalImageTag = "latest";
 }
diff --git a/devShells/neovim-shells/default.nix b/devShells/neovim-shells/default.nix
index 98e421f0..1791bcb2 100644
--- a/devShells/neovim-shells/default.nix
+++ b/devShells/neovim-shells/default.nix
@@ -10,11 +10,11 @@
           nameValuePair
           l
           ((pkgs.callPackage
-              "${self}/homeManagerModules/neovim/langs/${l}/shell.nix"
-              ({} // pkgs.selfPackages))
+            "${self}/homeManagerModules/neovim/langs/${l}/shell.nix"
+            ({} // pkgs.selfPackages))
             .overrideAttrs (o: {
-              meta.description = "${l} shell to be loaded by my Neovim config dynamically.";
-            }))
+            meta.description = "${l} shell to be loaded by my Neovim config dynamically.";
+          }))
       )
       langs);
 in
diff --git a/flake.lock b/flake.lock
index e089ec36..8cad4342 100644
--- a/flake.lock
+++ b/flake.lock
@@ -12,7 +12,7 @@
       },
       "original": {
         "owner": "matt1432",
-        "ref": "build-system",
+        "ref": "build-system-bak",
         "repo": "Kapowarr",
         "type": "github"
       }
@@ -64,11 +64,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743265529,
-        "narHash": "sha256-QbjP15/2N+VJl0b5jxrrTc+VOt39aU4XrDvtP0Lz5ik=",
+        "lastModified": 1744289235,
+        "narHash": "sha256-ZFkHLdimtFzQACsVVyZkZlfYdj4iNy3PkzXfrwmlse8=",
         "owner": "hyprwm",
         "repo": "aquamarine",
-        "rev": "1d2dbd72c2bbaceab031c592d4810f744741d203",
+        "rev": "c8282f4982b56dfa5e9b9f659809da93f8d37e7a",
         "type": "github"
       },
       "original": {
@@ -402,11 +402,11 @@
     "gpu-screen-recorder-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1743970963,
-        "narHash": "sha256-njJofQCF2+MccSJa8pTmzzWAPnvZOpaGhVcdJ++TKV8=",
+        "lastModified": 1744680863,
+        "narHash": "sha256-nK92K11BPMkBfAGeqGxV6X4/KGe7K56ZPnrvwPyo7SU=",
         "ref": "refs/heads/master",
-        "rev": "db04b2e55e366fc60c0f0ff8e0caac991b2a6536",
-        "revCount": 1062,
+        "rev": "1f3d28fc5c63e818c1ef483e725f0154eaa47fd6",
+        "revCount": 1064,
         "type": "git",
         "url": "https://repo.dec05eba.com/gpu-screen-recorder"
       },
@@ -461,11 +461,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744498625,
-        "narHash": "sha256-pL52uCt9CUoTTmysGG91c2FeU7XUvpB7Cep6yon2vDk=",
+        "lastModified": 1744663884,
+        "narHash": "sha256-a6QGaZMDM1miK8VWzAITsEPOdmLk+xTPyJSTjVs3WhI=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "db56335ca8942d86f2200664acdbd5b9212b26ad",
+        "rev": "d5cdf55bd9f19a3debd55b6cb5d38f7831426265",
         "type": "github"
       },
       "original": {
@@ -519,11 +519,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1739049071,
-        "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=",
+        "lastModified": 1743953322,
+        "narHash": "sha256-prQ5JKopXtzCMX2eT3dXbaVvGmzjMRE2bXStQDdazpM=",
         "owner": "hyprwm",
         "repo": "hyprgraphics",
-        "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73",
+        "rev": "9d7f2687c84c729afbc3b13f7937655570f2978d",
         "type": "github"
       },
       "original": {
@@ -577,11 +577,11 @@
         "xdph": "xdph"
       },
       "locked": {
-        "lastModified": 1744559780,
-        "narHash": "sha256-2bv6m1urUx6LN2Ha2YUk44Sp6R5Ud2Jv9bKLDAm3xyE=",
+        "lastModified": 1744646317,
+        "narHash": "sha256-Vs5vKsYOtUBdUyHZ9zmKZxhcEnwm9KM8LUhww44JKtE=",
         "owner": "hyprwm",
         "repo": "Hyprland",
-        "rev": "f4e19d3f1e27b4cf1236e93d767f9f6e916730ea",
+        "rev": "8b7b169043de2a9d95f8505edb8b6576fac586fd",
         "type": "github"
       },
       "original": {
@@ -725,11 +725,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1741191527,
-        "narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=",
+        "lastModified": 1744468525,
+        "narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=",
         "owner": "hyprwm",
         "repo": "hyprlang",
-        "rev": "72df3861f1197e41b078faa3e38eedd60e00018d",
+        "rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df",
         "type": "github"
       },
       "original": {
@@ -837,11 +837,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744436521,
-        "narHash": "sha256-3Q3+H8YeuRRGXZqL0FgWAcPg2bX416M6NX/VpLGRw+c=",
+        "lastModified": 1744648917,
+        "narHash": "sha256-xtBc0YMCP/x3+3iqnfdd4d9qEHvxQsGHamhhlegsGFE=",
         "owner": "Jovian-Experiments",
         "repo": "Jovian-NixOS",
-        "rev": "1dd888cc60079910fba27eb43b959b633e3b466c",
+        "rev": "66c4c9dccd26330ebb0e91aa6ba89ca8835dfdc5",
         "type": "github"
       },
       "original": {
@@ -863,11 +863,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744270261,
-        "narHash": "sha256-5NVUXDaFK4LEwq76gofWJ3gUNX0mhkbw1MXaaCJ9wws=",
+        "lastModified": 1744618733,
+        "narHash": "sha256-ngoKLBeBzp2aFsIKg0efEY+xssOJZzUb8cgVayS4IhY=",
         "owner": "kotontrion",
         "repo": "kompass",
-        "rev": "df1914678d12b84fed4b870bc7f789dee625cb94",
+        "rev": "c561a4bd8156bee68f336e18d5e4270ab3475e7e",
         "type": "github"
       },
       "original": {
@@ -916,11 +916,11 @@
     "material-symbols-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1744365232,
-        "narHash": "sha256-xHNliEAR9gMRKC0zALklh8OodHsayI8iI5j1ekLhs00=",
+        "lastModified": 1744619244,
+        "narHash": "sha256-73JYyqWMbLHu6xC9YI12vWGF4lZ8Gbq7YZGIkGyIe9I=",
         "owner": "beecho01",
         "repo": "material-symbols",
-        "rev": "1182e26a614454b1c713a353c7c504913b7ce7f6",
+        "rev": "1922a4cf6a0b4dff309c3763fb5a784ff0632fb1",
         "type": "github"
       },
       "original": {
@@ -1112,11 +1112,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744547774,
-        "narHash": "sha256-0xMZH1sDCoQxLe385OpVwkIW0xwl4KYGmjM++Y4uTRc=",
+        "lastModified": 1744712683,
+        "narHash": "sha256-C6jHAgNi50A4yZS4YzsT4hY1b6FjVgkJb3DcglbeKXw=",
         "owner": "Mic92",
         "repo": "nix-fast-build",
-        "rev": "1556d8c533d8fee16ee7c46aa7092ef18d8b39ae",
+        "rev": "c2d972bed84323146535ac2e3e69e8a2d995eabd",
         "type": "github"
       },
       "original": {
@@ -1161,11 +1161,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744524344,
-        "narHash": "sha256-n61Xx2svmzqRyfoQc9wDWCyBrWx1MvFGDYIXkQCx2vs=",
+        "lastModified": 1744611256,
+        "narHash": "sha256-NOtgDZm7BWODs9adMiveepo/+VTiTClTokD66pWxXE4=",
         "owner": "fufexan",
         "repo": "nix-gaming",
-        "rev": "3be2c40717a973af17228d2dd14de0dbd6b91a6d",
+        "rev": "cba45fc4da306733ae06853302ee8428feb29ea3",
         "type": "github"
       },
       "original": {
@@ -1283,11 +1283,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744308772,
-        "narHash": "sha256-gUOclfwgw/bSo3VMNmHrNXzIpaOgh1Yq9a3D3Dj/wgM=",
+        "lastModified": 1744677735,
+        "narHash": "sha256-m4QVkKPSIleMeP3S3RErg6BbMylh8DGHLFpxSCdsN6Y=",
         "owner": "kaylorben",
         "repo": "nixcord",
-        "rev": "76c3b99646d12437ec7183939eca911549e4d18f",
+        "rev": "a957c3403d0247bca3dbf78eaa7471947072e8eb",
         "type": "github"
       },
       "original": {
@@ -1737,11 +1737,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1744518500,
-        "narHash": "sha256-lv52pnfiRGp5+xkZEgWr56DWiRgkMFXpiGba3eJ3krE=",
+        "lastModified": 1744669848,
+        "narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=",
         "owner": "Mic92",
         "repo": "sops-nix",
-        "rev": "7e147a1ae90f0d4a374938cdc3df3cdaecb9d388",
+        "rev": "61154300d945f0b147b30d24ddcafa159148026a",
         "type": "github"
       },
       "original": {
@@ -1820,11 +1820,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1743748085,
-        "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=",
+        "lastModified": 1744707583,
+        "narHash": "sha256-IPFcShGro/UUp8BmwMBkq+6KscPlWQevZi9qqIwVUWg=",
         "owner": "numtide",
         "repo": "treefmt-nix",
-        "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d",
+        "rev": "49d05555ccdd2592300099d6a657cc33571f4fe0",
         "type": "github"
       },
       "original": {
@@ -1852,11 +1852,11 @@
     "tuya-local-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1744526040,
-        "narHash": "sha256-9IC6ZQCa9TNZpsnNw9rhpHuarbegd3w1UQDe3Bi8xPA=",
+        "lastModified": 1744694968,
+        "narHash": "sha256-milRVrNAyuGFCjsqlANr/5VLt+LQ+pNGznGJHHQJnyE=",
         "owner": "make-all",
         "repo": "tuya-local",
-        "rev": "2d3954b9591470d16aad864e4818e5bee169205a",
+        "rev": "cb60cac28914436fbc2a117af57a7ee5bd663e32",
         "type": "github"
       },
       "original": {
@@ -1977,11 +1977,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1741934139,
-        "narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=",
+        "lastModified": 1744644585,
+        "narHash": "sha256-p0D/e4J6Sv6GSb+9u8OQcVHSE2gPNYB5ygIfGDyEiXQ=",
         "owner": "hyprwm",
         "repo": "xdg-desktop-portal-hyprland",
-        "rev": "150b0b6f52bb422a1b232a53698606fe0320dde0",
+        "rev": "be6771e754345f18244fb00aae5c9e5ab21ccc26",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index 645538b5..24a47d7f 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,7 +4,7 @@
     Kapowarr-src = {
       flake = false;
       owner = "matt1432";
-      ref = "build-system";
+      ref = "build-system-bak";
       repo = "Kapowarr";
       type = "github";
     };
diff --git a/inputs/default.nix b/inputs/default.nix
index 9db4735d..757b5b0e 100644
--- a/inputs/default.nix
+++ b/inputs/default.nix
@@ -327,7 +327,7 @@ let
       name = "Kapowarr-src";
       owner = "matt1432";
       repo = "Kapowarr";
-      ref = "build-system";
+      ref = "build-system-bak";
       # type = "path";
       # path = "/home/matt/git/Kapowarr";
     }
diff --git a/modules/ags/config/default.nix b/modules/ags/config/default.nix
index 45c40905..9674c2a5 100644
--- a/modules/ags/config/default.nix
+++ b/modules/ags/config/default.nix
@@ -1,3 +1,3 @@
 {
-  npmDepsHash = "sha256-1Tda6a4ktJdZmjuFCziaDpoaXMAUah7qLC8Pv8jIRGw=";
+  npmDepsHash = "sha256-2qUzv9AQLJMreCULTg9jmPlBvm41yE5IqYVJLIZgc10=";
 }
diff --git a/modules/ags/config/package-lock.json b/modules/ags/config/package-lock.json
index 7e106f3e..087e4530 100644
--- a/modules/ags/config/package-lock.json
+++ b/modules/ags/config/package-lock.json
@@ -15,7 +15,7 @@
                 "eslint-plugin-jsdoc": "50.6.9",
                 "fzf": "0.5.2",
                 "jiti": "2.4.2",
-                "typescript-eslint": "8.29.1"
+                "typescript-eslint": "8.30.1"
             }
         },
         "node_modules/@es-joy/jsdoccomment": {
@@ -356,16 +356,16 @@
             "license": "MIT"
         },
         "node_modules/@typescript-eslint/eslint-plugin": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz",
-            "integrity": "sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.30.1.tgz",
+            "integrity": "sha512-v+VWphxMjn+1t48/jO4t950D6KR8JaJuNXzi33Ve6P8sEmPr5k6CEXjdGwT6+LodVnEa91EQCtwjWNUCPweo+Q==",
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/regexpp": "^4.10.0",
-                "@typescript-eslint/scope-manager": "8.29.1",
-                "@typescript-eslint/type-utils": "8.29.1",
-                "@typescript-eslint/utils": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1",
+                "@typescript-eslint/scope-manager": "8.30.1",
+                "@typescript-eslint/type-utils": "8.30.1",
+                "@typescript-eslint/utils": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.3.1",
                 "natural-compare": "^1.4.0",
@@ -385,15 +385,15 @@
             }
         },
         "node_modules/@typescript-eslint/parser": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.1.tgz",
-            "integrity": "sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.30.1.tgz",
+            "integrity": "sha512-H+vqmWwT5xoNrXqWs/fesmssOW70gxFlgcMlYcBaWNPIEWDgLa4W9nkSPmhuOgLnXq9QYgkZ31fhDyLhleCsAg==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/scope-manager": "8.29.1",
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/typescript-estree": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1",
+                "@typescript-eslint/scope-manager": "8.30.1",
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/typescript-estree": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1",
                 "debug": "^4.3.4"
             },
             "engines": {
@@ -409,13 +409,13 @@
             }
         },
         "node_modules/@typescript-eslint/scope-manager": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz",
-            "integrity": "sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz",
+            "integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1"
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -426,13 +426,13 @@
             }
         },
         "node_modules/@typescript-eslint/type-utils": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz",
-            "integrity": "sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.30.1.tgz",
+            "integrity": "sha512-64uBF76bfQiJyHgZISC7vcNz3adqQKIccVoKubyQcOnNcdJBvYOILV1v22Qhsw3tw3VQu5ll8ND6hycgAR5fEA==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/typescript-estree": "8.29.1",
-                "@typescript-eslint/utils": "8.29.1",
+                "@typescript-eslint/typescript-estree": "8.30.1",
+                "@typescript-eslint/utils": "8.30.1",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^2.0.1"
             },
@@ -449,9 +449,9 @@
             }
         },
         "node_modules/@typescript-eslint/types": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.1.tgz",
-            "integrity": "sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz",
+            "integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==",
             "license": "MIT",
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -462,13 +462,13 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz",
-            "integrity": "sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz",
+            "integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/visitor-keys": "8.29.1",
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/visitor-keys": "8.30.1",
                 "debug": "^4.3.4",
                 "fast-glob": "^3.3.2",
                 "is-glob": "^4.0.3",
@@ -488,15 +488,15 @@
             }
         },
         "node_modules/@typescript-eslint/utils": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.1.tgz",
-            "integrity": "sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz",
+            "integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==",
             "license": "MIT",
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.4.0",
-                "@typescript-eslint/scope-manager": "8.29.1",
-                "@typescript-eslint/types": "8.29.1",
-                "@typescript-eslint/typescript-estree": "8.29.1"
+                "@typescript-eslint/scope-manager": "8.30.1",
+                "@typescript-eslint/types": "8.30.1",
+                "@typescript-eslint/typescript-estree": "8.30.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -511,12 +511,12 @@
             }
         },
         "node_modules/@typescript-eslint/visitor-keys": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz",
-            "integrity": "sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz",
+            "integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/types": "8.29.1",
+                "@typescript-eslint/types": "8.30.1",
                 "eslint-visitor-keys": "^4.2.0"
             },
             "engines": {
@@ -1654,14 +1654,14 @@
             }
         },
         "node_modules/typescript-eslint": {
-            "version": "8.29.1",
-            "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.1.tgz",
-            "integrity": "sha512-f8cDkvndhbQMPcysk6CUSGBWV+g1utqdn71P5YKwMumVMOG/5k7cHq0KyG4O52nB0oKS4aN2Tp5+wB4APJGC+w==",
+            "version": "8.30.1",
+            "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.30.1.tgz",
+            "integrity": "sha512-D7lC0kcehVH7Mb26MRQi64LMyRJsj3dToJxM1+JVTl53DQSV5/7oUGWQLcKl1C1KnoVHxMMU2FNQMffr7F3Row==",
             "license": "MIT",
             "dependencies": {
-                "@typescript-eslint/eslint-plugin": "8.29.1",
-                "@typescript-eslint/parser": "8.29.1",
-                "@typescript-eslint/utils": "8.29.1"
+                "@typescript-eslint/eslint-plugin": "8.30.1",
+                "@typescript-eslint/parser": "8.30.1",
+                "@typescript-eslint/utils": "8.30.1"
             },
             "engines": {
                 "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
diff --git a/modules/ags/config/package.json b/modules/ags/config/package.json
index af826adf..92767062 100644
--- a/modules/ags/config/package.json
+++ b/modules/ags/config/package.json
@@ -10,6 +10,6 @@
         "eslint-plugin-jsdoc": "50.6.9",
         "fzf": "0.5.2",
         "jiti": "2.4.2",
-        "typescript-eslint": "8.29.1"
+        "typescript-eslint": "8.30.1"
     }
 }