diff --git a/CMakeLists.txt b/CMakeLists.txt
index 55555ad..a2b41fc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,8 +45,7 @@ option(WAYWALLEN_BUILD_PLUGINS "Build renderer plugins (image, video)" ON)
 option(WAYWALLEN_CARGO_OFFLINE "Pass --frozen to cargo (offline + locked, for flatpak)" OFF)
 
 if(WAYWALLEN_BUILD_DAEMON)
-    include(FetchDeps)
-    fetchdeps(${CMAKE_CURRENT_SOURCE_DIR}/deps.json NAMES Corrosion)
+    find_package(Corrosion REQUIRED)
     # FROZEN = --locked --offline; requires a committed/staged Cargo.lock
     # and a vendored CARGO_HOME (set by the flatpak manifest).
     set(_waywallen_corrosion_extra "")
diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt
index 0c9780e..6ef24ec 100644
--- a/ui/CMakeLists.txt
+++ b/ui/CMakeLists.txt
@@ -43,7 +43,8 @@ endif()
 
 set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
 include(${CMAKE_SOURCE_DIR}/cmake/FetchDeps.cmake)
-fetchdeps(${CMAKE_SOURCE_DIR}/deps.json)
+fetchdeps(${CMAKE_SOURCE_DIR}/deps.json NAMES ncrequest wavsen QExtra)
+find_package(qml_material REQUIRED)
 
 qt_standard_project_setup()
 
