diff --git a/src/lean/elan.rs b/src/lean/elan.rs
index 3117dcd..892153a 100644
--- a/src/lean/elan.rs
+++ b/src/lean/elan.rs
@@ -10,4 +10,6 @@ pub struct ElanConfig {
     pub retain_lean_nightly_versions: usize,
     #[structopt(long, default_value = "1")]
     pub retain_glean_versions: usize,
+    #[structopt(long, default_value = "10")]
+    pub retain_proofwidgets_versions: usize,
 }
diff --git a/src/main.rs b/src/main.rs
index dc8a460..6a4294d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -355,6 +355,14 @@ fn main() {
                     buffer_path.clone().unwrap(),
                     true,
                 );
+                let proofwidgets_src = stream_pipe::ByteStreamPipe::new(
+                    GitHubRelease::new(
+                        String::from("leanprover-community/ProofWidgets4"),
+                        source.retain_proofwidgets_versions,
+                    ),
+                    buffer_path.clone().unwrap(),
+                    true,
+                );
                 let lean_org_repo_src = merge_pipe! {
                     lean4: lean_src,
                     lean4_nightly: lean_nightly_src,
@@ -363,6 +371,7 @@ fn main() {
                     elan: elan_src,
                     leanprover: lean_org_repo_src,
                     glean: glean_src,
+                    proofwidgets: proofwidgets_src,
                 };
                 let indexed = index_pipe::IndexPipe::new(
                     unified,