diff --git a/core/installer/welcome/appmanager.go b/core/installer/welcome/appmanager.go
index 5d7e537..8622fdc 100644
--- a/core/installer/welcome/appmanager.go
+++ b/core/installer/welcome/appmanager.go
@@ -155,7 +155,6 @@
 
 type rendered struct {
 	Readme string `json:"readme"`
-	Files  []file `json:"files"`
 }
 
 func (s *AppManagerServer) handleAppRender(c echo.Context) error {
@@ -179,9 +178,9 @@
 			}
 		}
 	}
-	all := map[string]any{
-		"Global": global.Values,
-		"Values": values,
+	all := installer.Derived{
+		Global: global.Values,
+		Values: values,
 	}
 	a, err := s.r.Find(slug)
 	if err != nil {
@@ -193,16 +192,6 @@
 	}
 	var resp rendered
 	resp.Readme = readme.String()
-	for _, tmpl := range a.Templates { // TODO(giolekva): deduplicate with Install
-		var f bytes.Buffer
-		if err := tmpl.Execute(&f, all); err != nil {
-			fmt.Printf("%+v\n", all)
-			fmt.Println(err.Error())
-			return err
-		} else {
-			resp.Files = append(resp.Files, file{tmpl.Name(), f.String()})
-		}
-	}
 	out, err := json.Marshal(resp)
 	if err != nil {
 		return err
