diff --git a/common/home/neovim/default.nix b/common/home/neovim/default.nix
index d3990cdd..7de00769 100644
--- a/common/home/neovim/default.nix
+++ b/common/home/neovim/default.nix
@@ -100,15 +100,15 @@
           plugin = pkgs.vimPlugins.nvim-config-local;
           type = "lua";
           config =
-          # lua
-          ''
-            require('config-local').setup({
-                config_files = { '.nvim.lua', '.nvimrc', '.exrc' },
+            # lua
+            ''
+              require('config-local').setup({
+                  config_files = { '.nvim.lua', '.nvimrc', '.exrc' },
 
-                -- Where the plugin keeps files data
-                hashfile = '${config.xdg.cacheHome}/nvim/config-local',
-            });
-          '';
+                  -- Where the plugin keeps files data
+                  hashfile = '${config.xdg.cacheHome}/nvim/config-local',
+              });
+            '';
         }
       ];
     };
diff --git a/devices/nos/modules/docker/media/radarr/images/radarr.nix b/devices/nos/modules/docker/media/radarr/images/radarr.nix
index dcca43ca..c5123e19 100644
--- a/devices/nos/modules/docker/media/radarr/images/radarr.nix
+++ b/devices/nos/modules/docker/media/radarr/images/radarr.nix
@@ -1,8 +1,8 @@
 pkgs:
 pkgs.dockerTools.pullImage {
   imageName = "ghcr.io/linuxserver/radarr";
-  imageDigest = "sha256:1a50d4f08e283aa9ff4c723b940dceb4e8aeff7946e1993213efd0de3d5a4adb";
-  sha256 = "0nz04zxvaq6xm7rx90n1d9639jqbw3n69b74g4a6nnjrac55n7g9";
+  imageDigest = "sha256:d758c5a5edc4cda1263260948b3f460f511430bccea505dca3cb70af01332ff8";
+  sha256 = "08q1fi21l3m0nsdncwc19qi3vgpzgswr2581x6a8kj9c3s1yh057";
   finalImageName = "ghcr.io/linuxserver/radarr";
   finalImageTag = "latest";
 }
diff --git a/flake.lock b/flake.lock
index b4eeee55..37c3e24e 100644
--- a/flake.lock
+++ b/flake.lock
@@ -41,7 +41,9 @@
     },
     "agsV2": {
       "inputs": {
-        "astal": "astal",
+        "astal": [
+          "astal"
+        ],
         "nixpkgs": [
           "nixpkgs"
         ]
@@ -95,35 +97,17 @@
       }
     },
     "astal": {
-      "inputs": {
-        "nixpkgs": "nixpkgs"
-      },
-      "locked": {
-        "lastModified": 1727352696,
-        "narHash": "sha256-vG5WFpMq2uh1CQKIwndeNJzBZVoMeOj1KaN2pwxWqAU=",
-        "owner": "aylur",
-        "repo": "astal",
-        "rev": "c68d116e409c734f3b875cf94b3fe10690e0f9ce",
-        "type": "github"
-      },
-      "original": {
-        "owner": "aylur",
-        "repo": "astal",
-        "type": "github"
-      }
-    },
-    "astal_2": {
       "inputs": {
         "nixpkgs": [
           "nixpkgs"
         ]
       },
       "locked": {
-        "lastModified": 1727542220,
-        "narHash": "sha256-qdp1hRY7WC+LC2bKpbSkxYEYGg/Dd/DI955oWbV3F7s=",
+        "lastModified": 1727569307,
+        "narHash": "sha256-bgr9Q8WFBO0epZYFRPLo2ooSOBGmQzqdiB51clD2sPc=",
         "owner": "Aylur",
         "repo": "astal",
-        "rev": "9e63fe3819b19555c39c56a9d098c0ee35fbaf3d",
+        "rev": "f17b28d2d28e4c087a996fcf7b0bb43c789a3885",
         "type": "github"
       },
       "original": {
@@ -323,25 +307,9 @@
     },
     "flake-parts": {
       "inputs": {
-        "nixpkgs-lib": "nixpkgs-lib_2"
-      },
-      "locked": {
-        "lastModified": 1714641030,
-        "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
-        "owner": "hercules-ci",
-        "repo": "flake-parts",
-        "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hercules-ci",
-        "repo": "flake-parts",
-        "type": "github"
-      }
-    },
-    "flake-parts_2": {
-      "inputs": {
-        "nixpkgs-lib": "nixpkgs-lib_3"
+        "nixpkgs-lib": [
+          "nixpkgs"
+        ]
       },
       "locked": {
         "lastModified": 1726153070,
@@ -357,25 +325,7 @@
         "type": "github"
       }
     },
-    "flake-parts_3": {
-      "inputs": {
-        "nixpkgs-lib": "nixpkgs-lib_4"
-      },
-      "locked": {
-        "lastModified": 1714606777,
-        "narHash": "sha256-bMkNmAXLj8iyTvxaaD/StcLSadbj1chPcJOjtuVnLmA=",
-        "owner": "hercules-ci",
-        "repo": "flake-parts",
-        "rev": "4d34ce6412bc450b1d4208c953dc97c7fc764f1a",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hercules-ci",
-        "repo": "flake-parts",
-        "type": "github"
-      }
-    },
-    "flake-parts_4": {
+    "flake-parts_2": {
       "inputs": {
         "nixpkgs-lib": [
           "nixpkgs-wayland",
@@ -471,11 +421,11 @@
     "gpu-screen-recorder-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1727398989,
-        "narHash": "sha256-irjEmGcu31qM0RiBaLs0LRn/dIOdSiy09O5UD9hEkIM=",
+        "lastModified": 1727578585,
+        "narHash": "sha256-bk0wjvjLwXxt+f4spg8thAMRe2aG6hwLPtjAlD15+Bk=",
         "ref": "refs/heads/master",
-        "rev": "ebc8c69bacb7c8aa7fd1ccebddc281760a11b88e",
-        "revCount": 821,
+        "rev": "0eb9ce003d2b2086c708272e321c6dfb2557c8bd",
+        "revCount": 822,
         "type": "git",
         "url": "https://repo.dec05eba.com/gpu-screen-recorder"
       },
@@ -603,11 +553,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1722623071,
-        "narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
+        "lastModified": 1727532803,
+        "narHash": "sha256-ZaZ7h7PY8mQc4vtGmVqWLAq9CAO02gHMyNR5yY8zDmM=",
         "owner": "hyprwm",
         "repo": "hyprcursor",
-        "rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
+        "rev": "b98726e431d4d3ed58bd58bee1047cdb81cec69f",
         "type": "github"
       },
       "original": {
@@ -653,19 +603,17 @@
         "xdph": "xdph"
       },
       "locked": {
-        "lastModified": 1727527591,
-        "narHash": "sha256-8Mrz/pH+zknWtY25XOKvsfx9KZRdST/0VrjKXKHvZSk=",
-        "ref": "refs/heads/main",
-        "rev": "6f313de952311282e82461a342c74ea702d9f13a",
-        "revCount": 5274,
-        "submodules": true,
-        "type": "git",
-        "url": "https://github.com/hyprwm/Hyprland"
+        "lastModified": 1727621787,
+        "narHash": "sha256-Nt+lxQJRfkO675/HkFcz80V47F2Vzx+scYNvJHdHxfc=",
+        "owner": "hyprwm",
+        "repo": "Hyprland",
+        "rev": "6649255d54f45a7e2fedd9b4be85fe5d11229c04",
+        "type": "github"
       },
       "original": {
-        "submodules": true,
-        "type": "git",
-        "url": "https://github.com/hyprwm/Hyprland"
+        "owner": "hyprwm",
+        "repo": "Hyprland",
+        "type": "github"
       }
     },
     "hyprland-plugins": {
@@ -683,11 +631,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1727258890,
-        "narHash": "sha256-/55TVManE/J19LSzXtUNhHUpeouRqZxM08ZdWvJrNoA=",
+        "lastModified": 1727625596,
+        "narHash": "sha256-+BQyiJPhb9txsO6xZ4c4HrQwBzTe9gohX1e+wUvOM+Q=",
         "owner": "hyprwm",
         "repo": "hyprland-plugins",
-        "rev": "4fcb465c9d771f4ae1f451e8d953250d16eead70",
+        "rev": "13301eeede3deb4b3a5478518eb0931ae274a798",
         "type": "github"
       },
       "original": {
@@ -777,40 +725,20 @@
         "type": "github"
       }
     },
-    "hyprlang_2": {
-      "inputs": {
-        "hyprutils": [
-          "hyprpaper",
-          "hyprutils"
-        ],
-        "nixpkgs": [
-          "hyprpaper",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprpaper",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1725188252,
-        "narHash": "sha256-yBH8c4GDaEAtBrh+BqIlrx5vp6gG/Gu8fQQK63KAQgs=",
-        "owner": "hyprwm",
-        "repo": "hyprlang",
-        "rev": "c12ab785ce1982f82594aff03b3104c598186ddd",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprlang",
-        "type": "github"
-      }
-    },
     "hyprpaper": {
       "inputs": {
-        "hyprlang": "hyprlang_2",
-        "hyprutils": "hyprutils_2",
-        "hyprwayland-scanner": "hyprwayland-scanner_2",
+        "hyprlang": [
+          "hyprland",
+          "hyprlang"
+        ],
+        "hyprutils": [
+          "hyprland",
+          "hyprutils"
+        ],
+        "hyprwayland-scanner": [
+          "hyprland",
+          "hyprwayland-scanner"
+        ],
         "nixpkgs": [
           "nixpkgs"
         ],
@@ -857,31 +785,6 @@
         "type": "github"
       }
     },
-    "hyprutils_2": {
-      "inputs": {
-        "nixpkgs": [
-          "hyprpaper",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprpaper",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1724966483,
-        "narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=",
-        "owner": "hyprwm",
-        "repo": "hyprutils",
-        "rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprutils",
-        "type": "github"
-      }
-    },
     "hyprwayland-scanner": {
       "inputs": {
         "nixpkgs": [
@@ -907,31 +810,6 @@
         "type": "github"
       }
     },
-    "hyprwayland-scanner_2": {
-      "inputs": {
-        "nixpkgs": [
-          "hyprpaper",
-          "nixpkgs"
-        ],
-        "systems": [
-          "hyprpaper",
-          "systems"
-        ]
-      },
-      "locked": {
-        "lastModified": 1721324119,
-        "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
-        "owner": "hyprwm",
-        "repo": "hyprwayland-scanner",
-        "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
-        "type": "github"
-      },
-      "original": {
-        "owner": "hyprwm",
-        "repo": "hyprwayland-scanner",
-        "type": "github"
-      }
-    },
     "jellyfin-flake": {
       "inputs": {
         "nixpkgs": [
@@ -1001,11 +879,11 @@
         "nixpkgs-lib": "nixpkgs-lib"
       },
       "locked": {
-        "lastModified": 1727007123,
-        "narHash": "sha256-B2WqDa4Sd7EVrGfxnVSCL39yOKWqn14vhhTGlbtd+48=",
+        "lastModified": 1727611937,
+        "narHash": "sha256-VTtaGRJGFWQzQd7u7iHUJiUUyMbJ3Jcv/ZsXlBXw0Ok=",
         "owner": "nix-community",
         "repo": "lib-aggregate",
-        "rev": "e4bb2b4962e79814c38862dce5eca90af3de6a3c",
+        "rev": "74c775886c8f89a0af4743a9144c5bbd04125725",
         "type": "github"
       },
       "original": {
@@ -1137,10 +1015,10 @@
     },
     "nix-eval-jobs": {
       "inputs": {
-        "flake-parts": "flake-parts_4",
+        "flake-parts": "flake-parts_2",
         "nix-github-actions": "nix-github-actions_2",
-        "nixpkgs": "nixpkgs_3",
-        "treefmt-nix": "treefmt-nix_3"
+        "nixpkgs": "nixpkgs_2",
+        "treefmt-nix": "treefmt-nix"
       },
       "locked": {
         "lastModified": 1726859423,
@@ -1158,11 +1036,15 @@
     },
     "nix-fast-build": {
       "inputs": {
-        "flake-parts": "flake-parts",
+        "flake-parts": [
+          "flake-parts"
+        ],
         "nixpkgs": [
           "nixpkgs"
         ],
-        "treefmt-nix": "treefmt-nix"
+        "treefmt-nix": [
+          "treefmt-nix"
+        ]
       },
       "locked": {
         "lastModified": 1727439947,
@@ -1206,18 +1088,20 @@
     },
     "nix-gaming": {
       "inputs": {
-        "flake-parts": "flake-parts_2",
+        "flake-parts": [
+          "flake-parts"
+        ],
         "nixpkgs": [
           "nixpkgs"
         ],
         "umu": "umu"
       },
       "locked": {
-        "lastModified": 1727519624,
-        "narHash": "sha256-toHdMLDTkZlx1PKMpdN/64xgsv151SSuLg7hsVmAFHY=",
+        "lastModified": 1727574085,
+        "narHash": "sha256-vwERoi5pcO39raf92QMS6BjujfbRiHWA0rOb/XlQlmc=",
         "owner": "fufexan",
         "repo": "nix-gaming",
-        "rev": "b9750eec6aa0c9b24f82e67a5185a3300b5f703d",
+        "rev": "6401744e317693efe56495a863322894767277fd",
         "type": "github"
       },
       "original": {
@@ -1277,11 +1161,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1726975622,
-        "narHash": "sha256-bPDZosnom0+02ywmMZAvmj7zvsQ6mVv/5kmvSgbTkaY=",
+        "lastModified": 1727580512,
+        "narHash": "sha256-gEWoJ+027OwsNs6f1GkDPrCxBFr5Vky7vWKjHRJi60s=",
         "owner": "Mic92",
         "repo": "nix-index-database",
-        "rev": "c7515c2fdaf2e1f3f49856cef6cec95bb2138417",
+        "rev": "a2ab1588541ae442bd3a682f8f6bbcbca2672f10",
         "type": "github"
       },
       "original": {
@@ -1319,12 +1203,16 @@
     },
     "nixd": {
       "inputs": {
-        "flake-parts": "flake-parts_3",
+        "flake-parts": [
+          "flake-parts"
+        ],
         "flake-root": "flake-root",
         "nixpkgs": [
           "nixpkgs"
         ],
-        "treefmt-nix": "treefmt-nix_2"
+        "treefmt-nix": [
+          "treefmt-nix"
+        ]
       },
       "locked": {
         "lastModified": 1727483856,
@@ -1342,15 +1230,15 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1716293225,
-        "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=",
-        "owner": "nixos",
+        "lastModified": 1727348695,
+        "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
+        "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916",
+        "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
         "type": "github"
       },
       "original": {
-        "owner": "nixos",
+        "owner": "NixOS",
         "ref": "nixos-unstable",
         "repo": "nixpkgs",
         "type": "github"
@@ -1390,11 +1278,11 @@
     },
     "nixpkgs-lib": {
       "locked": {
-        "lastModified": 1726966855,
-        "narHash": "sha256-25ByioeOBFcnitO5lM/Mufnv/u7YtHEHEM8QFuiS40k=",
+        "lastModified": 1727571693,
+        "narHash": "sha256-b7sFVeqMtz8xntCL3tBY3O8suTg5PeF53LTL3eCcKyc=",
         "owner": "nix-community",
         "repo": "nixpkgs.lib",
-        "rev": "575704ff85d3a41dc5bfef7b55380cbc7b87f3c2",
+        "rev": "bb58a3bf239e03fca9d51062e2fe028a4ea5a3d1",
         "type": "github"
       },
       "original": {
@@ -1403,48 +1291,6 @@
         "type": "github"
       }
     },
-    "nixpkgs-lib_2": {
-      "locked": {
-        "lastModified": 1714640452,
-        "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=",
-        "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
-      },
-      "original": {
-        "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz"
-      }
-    },
-    "nixpkgs-lib_3": {
-      "locked": {
-        "lastModified": 1725233747,
-        "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
-        "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
-      },
-      "original": {
-        "type": "tarball",
-        "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
-      }
-    },
-    "nixpkgs-lib_4": {
-      "locked": {
-        "dir": "lib",
-        "lastModified": 1714253743,
-        "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
-        "type": "github"
-      },
-      "original": {
-        "dir": "lib",
-        "owner": "NixOS",
-        "ref": "nixos-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
     "nixpkgs-stable": {
       "locked": {
         "lastModified": 1725762081,
@@ -1473,11 +1319,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1727472280,
-        "narHash": "sha256-SKMFwHkYYldzzZQbquB7FUyfrB43D/BGH3xeZ8hfFCc=",
+        "lastModified": 1727614831,
+        "narHash": "sha256-ffvX/qhMqol1E7Rv+oRSVXxYgYvKy5bfZAyjYdq/9RI=",
         "owner": "nix-community",
         "repo": "nixpkgs-wayland",
-        "rev": "811af6abf4990f27919f39319f8950a4f2f57aab",
+        "rev": "206b2a2a8505b9e8afb5d1b5ffea2b574b7983b6",
         "type": "github"
       },
       "original": {
@@ -1487,22 +1333,6 @@
       }
     },
     "nixpkgs_2": {
-      "locked": {
-        "lastModified": 1727348695,
-        "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NixOS",
-        "ref": "nixos-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
-    "nixpkgs_3": {
       "locked": {
         "lastModified": 1723221148,
         "narHash": "sha256-7pjpeQlZUNQ4eeVntytU3jkw9dFK3k1Htgk2iuXjaD8=",
@@ -1697,7 +1527,7 @@
       "inputs": {
         "ags": "ags",
         "agsV2": "agsV2",
-        "astal": "astal_2",
+        "astal": "astal",
         "bat-theme-src": "bat-theme-src",
         "bazarr-bulk": "bazarr-bulk",
         "caddy-plugins": "caddy-plugins",
@@ -1707,6 +1537,7 @@
         "eisa-scripts-src": "eisa-scripts-src",
         "extended-ollama-conversation-src": "extended-ollama-conversation-src",
         "firefox-gx-src": "firefox-gx-src",
+        "flake-parts": "flake-parts",
         "flake-utils": "flake-utils",
         "flakegen": "flakegen",
         "git-theme-src": "git-theme-src",
@@ -1736,7 +1567,7 @@
         "nix-index-db": "nix-index-db",
         "nix-on-droid": "nix-on-droid",
         "nixd": "nixd",
-        "nixpkgs": "nixpkgs_2",
+        "nixpkgs": "nixpkgs",
         "nixpkgs-wayland": "nixpkgs-wayland",
         "nvim-theme-src": "nvim-theme-src",
         "pam-fprint-grosshack-src": "pam-fprint-grosshack-src",
@@ -1754,6 +1585,7 @@
         "subsync": "subsync",
         "systems": "systems",
         "trash-d-src": "trash-d-src",
+        "treefmt-nix": "treefmt-nix_2",
         "ts-for-gir-src": "ts-for-gir-src",
         "vimplugin-easytables-src": "vimplugin-easytables-src",
         "vimplugin-ts-error-translator-src": "vimplugin-ts-error-translator-src",
@@ -1872,11 +1704,11 @@
     "spotifyplus-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1727556884,
-        "narHash": "sha256-HBGGB9MtQlOzQxN39bUzWl9+iElAc6HJHeisfGqaLLE=",
+        "lastModified": 1727574928,
+        "narHash": "sha256-14saMCLo8cdGesral/Ok6AbM221Yd8YpRIRyd8tozOY=",
         "owner": "thlucas1",
         "repo": "homeassistantcomponent_spotifyplus",
-        "rev": "f017285d88405749a0c21da14dff7dae6e46f39c",
+        "rev": "0765d55de16d2ced311ce3e67f3d58a0bd138f69",
         "type": "github"
       },
       "original": {
@@ -1956,48 +1788,6 @@
       }
     },
     "treefmt-nix": {
-      "inputs": {
-        "nixpkgs": [
-          "nix-fast-build",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1714058656,
-        "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=",
-        "owner": "numtide",
-        "repo": "treefmt-nix",
-        "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "treefmt-nix",
-        "type": "github"
-      }
-    },
-    "treefmt-nix_2": {
-      "inputs": {
-        "nixpkgs": [
-          "nixd",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1722330636,
-        "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
-        "owner": "numtide",
-        "repo": "treefmt-nix",
-        "rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "treefmt-nix",
-        "type": "github"
-      }
-    },
-    "treefmt-nix_3": {
       "inputs": {
         "nixpkgs": [
           "nixpkgs-wayland",
@@ -2019,6 +1809,26 @@
         "type": "github"
       }
     },
+    "treefmt-nix_2": {
+      "inputs": {
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1727431250,
+        "narHash": "sha256-uGRlRT47ecicF9iLD1G3g43jn2e+b5KaMptb59LHnvM=",
+        "owner": "numtide",
+        "repo": "treefmt-nix",
+        "rev": "879b29ae9a0378904fbbefe0dadaed43c8905754",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "treefmt-nix",
+        "type": "github"
+      }
+    },
     "ts-for-gir-src": {
       "flake": false,
       "locked": {
@@ -2044,11 +1854,11 @@
       },
       "locked": {
         "dir": "packaging/nix",
-        "lastModified": 1726768365,
-        "narHash": "sha256-5yQJ3krsZioC+Nim4/oaOjKp3CXFWolTFMpXnUBcYtE=",
+        "lastModified": 1727227288,
+        "narHash": "sha256-82fIhNN93zk0vmc5rltsbYJlD96AHzEFY2q1KizLP0A=",
         "ref": "refs/heads/main",
-        "rev": "e42043a26639cfb69d14c6945ecdebe2bb3c42fc",
-        "revCount": 727,
+        "rev": "5cc1c3f23e2ecc9e03267c097e990d1702416852",
+        "revCount": 730,
         "submodules": true,
         "type": "git",
         "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
@@ -2133,11 +1943,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1727109343,
-        "narHash": "sha256-1PFckA8Im7wMSl26okwOKqBZeCFLD3LvZZFaxswDhbY=",
+        "lastModified": 1727524473,
+        "narHash": "sha256-1DGktDtSWIJpnDbVoj/qpvJSH5zg6JbOfuh6xqZMap0=",
         "owner": "hyprwm",
         "repo": "xdg-desktop-portal-hyprland",
-        "rev": "4adb6c4c41ee5014bfe608123bfeddb26e5f5cea",
+        "rev": "7e500e679ede40e79cf2d89b5f5fa3e34923bd26",
         "type": "github"
       },
       "original": {
diff --git a/flake.nix b/flake.nix
index ebb96927..b85a2f21 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,5 +1,4 @@
 # Do not modify! This file is generated.
-
 {
   inputs = {
     ags = {
@@ -12,7 +11,10 @@
       type = "github";
     };
     agsV2 = {
-      inputs.nixpkgs.follows = "nixpkgs";
+      inputs = {
+        astal.follows = "astal";
+        nixpkgs.follows = "nixpkgs";
+      };
       owner = "Aylur";
       ref = "v2";
       repo = "ags";
@@ -79,6 +81,12 @@
       repo = "firefox-gx";
       type = "github";
     };
+    flake-parts = {
+      inputs.nixpkgs-lib.follows = "nixpkgs";
+      owner = "hercules-ci";
+      repo = "flake-parts";
+      type = "github";
+    };
     flake-utils = {
       inputs.systems.follows = "systems";
       owner = "numtide";
@@ -148,9 +156,9 @@
         nixpkgs.follows = "nixpkgs";
         systems.follows = "systems";
       };
-      submodules = true;
-      type = "git";
-      url = "https://github.com/hyprwm/Hyprland";
+      owner = "hyprwm";
+      repo = "Hyprland";
+      type = "github";
     };
     hyprland-plugins = {
       inputs = {
@@ -163,6 +171,9 @@
     };
     hyprpaper = {
       inputs = {
+        hyprlang.follows = "hyprland/hyprlang";
+        hyprutils.follows = "hyprland/hyprutils";
+        hyprwayland-scanner.follows = "hyprland/hyprwayland-scanner";
         nixpkgs.follows = "nixpkgs";
         systems.follows = "systems";
       };
@@ -237,13 +248,20 @@
       type = "github";
     };
     nix-fast-build = {
-      inputs.nixpkgs.follows = "nixpkgs";
+      inputs = {
+        flake-parts.follows = "flake-parts";
+        nixpkgs.follows = "nixpkgs";
+        treefmt-nix.follows = "treefmt-nix";
+      };
       owner = "Mic92";
       repo = "nix-fast-build";
       type = "github";
     };
     nix-gaming = {
-      inputs.nixpkgs.follows = "nixpkgs";
+      inputs = {
+        flake-parts.follows = "flake-parts";
+        nixpkgs.follows = "nixpkgs";
+      };
       owner = "fufexan";
       repo = "nix-gaming";
       type = "github";
@@ -264,7 +282,11 @@
       type = "github";
     };
     nixd = {
-      inputs.nixpkgs.follows = "nixpkgs";
+      inputs = {
+        flake-parts.follows = "flake-parts";
+        nixpkgs.follows = "nixpkgs";
+        treefmt-nix.follows = "treefmt-nix";
+      };
       owner = "nix-community";
       repo = "nixd";
       type = "github";
@@ -382,6 +404,12 @@
       repo = "trash-d";
       type = "github";
     };
+    treefmt-nix = {
+      inputs.nixpkgs.follows = "nixpkgs";
+      owner = "numtide";
+      repo = "treefmt-nix";
+      type = "github";
+    };
     ts-for-gir-src = {
       flake = false;
       owner = "gjsify";
@@ -408,4 +436,4 @@
     };
   };
   outputs = inputs: inputs.flakegen ./outputs.nix inputs;
-}
\ No newline at end of file
+}
diff --git a/inputs.nix b/inputs.nix
index cf7c8145..f713604b 100644
--- a/inputs.nix
+++ b/inputs.nix
@@ -24,6 +24,15 @@ let
       owner = "numtide";
       repo = "flake-utils";
     };
+    flake-parts = mkInput {
+      owner = "hercules-ci";
+      repo = "flake-parts";
+      inputs.nixpkgs-lib.follows = "nixpkgs";
+    };
+    treefmt-nix = mkDep {
+      owner = "numtide";
+      repo = "treefmt-nix";
+    };
     lib-aggregate = mkInput {
       owner = "nix-community";
       repo = "lib-aggregate";
@@ -109,9 +118,8 @@ let
   desktopInputs = {
     hyprlandInputs = {
       hyprland = mkDep {
-        type = "git";
-        url = "https://github.com/hyprwm/Hyprland";
-        submodules = true;
+        owner = "hyprwm";
+        repo = "Hyprland";
       };
 
       hyprland-plugins = mkHyprDep {
@@ -130,6 +138,14 @@ let
       hyprpaper = mkDep {
         owner = "hyprwm";
         repo = "hyprpaper";
+
+        inputs = {
+          hyprlang.follows = "hyprland/hyprlang";
+          hyprutils.follows = "hyprland/hyprutils";
+          hyprwayland-scanner.follows = "hyprland/hyprwayland-scanner";
+          nixpkgs.follows = "hyprland/nixpkgs";
+          systems.follows = "hyprland/systems";
+        };
       };
 
       grim-hyprland = mkDep {
@@ -153,6 +169,8 @@ let
         owner = "Aylur";
         repo = "ags";
         ref = "v2";
+
+        inputs.astal.follows = "astal";
       };
 
       astal = mkDep {
diff --git a/legacyPackages/hass-components/spotifyplus/default.nix b/legacyPackages/hass-components/spotifyplus/default.nix
index 33cdf338..da864dac 100644
--- a/legacyPackages/hass-components/spotifyplus/default.nix
+++ b/legacyPackages/hass-components/spotifyplus/default.nix
@@ -25,9 +25,10 @@ in
       platformdirs
       requests
       requests_oauthlib
+      soco
+      urllib3
       zeroconf
       smartinspect # overridden in this python3Packages
       spotifywebapi # overridden in this python3Packages
-      urllib3
     ];
   }
diff --git a/lib/inputs.nix b/lib/inputs.nix
index d44130af..253fa9c4 100644
--- a/lib/inputs.nix
+++ b/lib/inputs.nix
@@ -29,6 +29,8 @@ in rec {
       {inherit type;}
       (mkOverride "systems")
       (mkOverride "flake-utils")
+      (mkOverride "flake-parts")
+      (mkOverride "treefmt-nix")
       (mkOverride "lib-aggregate")
     ];