diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 32ae5b9fa1459f5220e5ff41de2a051a0e9db829..217d6ce015063fd7875f4f37544b815fa06f77ba 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,11 +2,12 @@ image: python:3.8-buster
 
 variables:
   GIT_SUBMODULE_STRATEGY: recursive
+  PIP_EXTRA_INDEX_URL: https://edugit.org/api/v4/projects/257/packages/pypi/simple
 
 pages:
   stage: deploy
   before_script:
-  - pip install Markdown gitpython pelican py_w3c beautifulsoup4
+  - pip install -r requirements.txt
   script:
   - make publish
   artifacts:
diff --git a/.gitmodules b/.gitmodules
index 86b103dc9a0f739840212e2169c6c4cce1acd3cb..e35709471188f9a716688b1ee974163e1ef3a753 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
-[submodule "themes/teckids"]
-	path = themes/teckids
-	url = https://edugit.org/Teckids/team-pr/pelican-theme-teckids
 [submodule "plugins"]
 	path = plugins
 	url = https://github.com/getpelican/pelican-plugins
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fccc4a158da404b3ca859b053b9c60d24f649240
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,6 @@
+pelican
+Markdown
+gitpython
+py_w3c
+beautifulsoup4
+pelican-theme-teckids
diff --git a/themes/teckids b/themes/teckids
deleted file mode 160000
index 32ff535ccce0b353f7e35e86be22c263932c0224..0000000000000000000000000000000000000000
--- a/themes/teckids
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 32ff535ccce0b353f7e35e86be22c263932c0224