approxhost := localhost
 endif
 
+approxrepos := main
+approxrepos += $(findstring contrib, ${SOURCES})
+approxrepos += $(findstring non-free, ${SOURCES})
+
 ifdef approx
   BOOTSTRAP := ${approx}
   define SOURCES =
-  deb ${approx} ${release} main
+  deb ${approx} ${release} ${approxrepos}
   endef
 else ifdef raspi
   BOOTSTRAP := http://localhost/raspbian
 else
   BOOTSTRAP := http://localhost/debian
   define SOURCES :=
-  deb http://${approxhost}/debian ${release} main
+  deb http://${approxhost}/debian ${release} ${approxrepos}
   endef
 endif