diff --git a/.compose-gitlab-ci.yml b/.compose-gitlab-ci.yml
index 2befddcc80b5efe8c9272c17f4dd5a0853353d18..7aa0597b343abdf4fcdac46ca99dbb2d1c3706f0 100644
--- a/.compose-gitlab-ci.yml
+++ b/.compose-gitlab-ci.yml
@@ -7,17 +7,6 @@ stages:
   - build
   - deploy                      # Create the report and deploy the Gitlab pages.
 
-before_script:
-  # Use a fixed GUIX profile for maximum reproducibility:
-  - mkdir -p $HOME/.guix-extra/compose/
-  # - >
-  #      guix pull --channels=.guix-extra/channels-compose-fixed.scm
-  #      --profile=$HOME/.guix-extra/compose/guix --allow-downgrades
-  - export GUIX_PROFILE="$HOME/.guix-extra/compose/guix"
-  - . "$GUIX_PROFILE/etc/profile"
-  - mkdir -p public/
-  - guix describe --format=channels | tee public/channels.scm
-
 buildrawlatex:
   # We recommend NOT to use this feature and only rely on org.
   # However, it is still possible to handle raw latex files,
@@ -34,7 +23,7 @@ buildrawlatex:
 
     # Publish the org content
     - cd rawlatex
-    - guix shell --pure -m ../.guix-extra/manifest-compose.scm -- latexmk -pdf -xelatex -interaction=nonstopmode
+    - guix time-machine -C ../.guix-extra/channels-compose-fixed.scm -- shell --pure -m ../.guix-extra/manifest-compose.scm -- latexmk -pdf -xelatex -interaction=nonstopmode
     - cd ..
 
     # Make index of public folder:
@@ -68,13 +57,13 @@ pages:
     - mkdir -p public/
 
     # Publish the org content
-    - guix shell --pure -m .guix-extra/manifest-compose.scm -- emacs --batch --no-init-file --load publish.el --funcall org-publish-all
+    - guix time-machine -C ../.guix-extra/channels-compose-fixed.scm -- shell --pure -m .guix-extra/manifest-compose.scm -- emacs --batch --no-init-file --load publish.el --funcall org-publish-all
 
     # Make sitemap of public folder and point index.html to README.html is no index is there:
     - >
       for folder in $(find public/ -type d) ;
       do
-        guix shell --pure tree -- tree -L 1 -H '.' --dirsfirst --noreport --charset utf-8 $folder > $folder/sitemaptree.html ;
+        guix time-machine -C ../.guix-extra/channels-compose-fixed.scm -- shell --pure tree -- tree -L 1 -H '.' --dirsfirst --noreport --charset utf-8 $folder > $folder/sitemaptree.html ;
         sed -i 's/href=".">.</href="..">..</g' $folder/sitemaptree.html ;
         cd $folder
         if [ ! -e index.html -a -e README.html ] ; then