From ba63452fa66ee4cef2b51d1143b3ca971a0c6056 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marek=20Fel=C5=A1=C3=B6ci?= <marek.felsoci@inria.fr>
Date: Fri, 22 Jul 2022 15:46:06 +0200
Subject: [PATCH] Fix software environment and use channels+manifest setup

---
 .gitlab-ci.yml | 10 ++++------
 channels.scm   |  5 +++++
 manifest.scm   |  9 +++++++++
 3 files changed, 18 insertions(+), 6 deletions(-)
 create mode 100644 channels.scm
 create mode 100644 manifest.scm

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f2e2994..ae3b3a9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,12 +7,10 @@ pages:
   # Export the example page to HTML and publish it alongside with the template
   # sources to the GitLab page.
   - >
-    guix environment --pure --ad-hoc coreutils which wget emacs emacs-org2web
-    emacs-org emacs-org-contrib emacs-htmlize -- emacs --batch --no-init-file
-    --eval '(setq org-confirm-babel-evaluate nil)' --load pages.el --funcall
-    org-publish-all
-  # Set the example page to be the index page of the GitLab page.
-  - mv ./public/example.html ./public/index.html
+    guix time-machine -C channels.scm -- shell --pure coreutils which wget emacs
+    emacs-org2web emacs-org emacs-org-contrib emacs-htmlize -- emacs --batch
+    --no-init-file --eval '(setq org-confirm-babel-evaluate nil)'
+    --load pages.el --funcall org-publish-all
   artifacts:
     paths:
     - public
diff --git a/channels.scm b/channels.scm
new file mode 100644
index 0000000..61ab2de
--- /dev/null
+++ b/channels.scm
@@ -0,0 +1,5 @@
+(list
+ (channel
+  (name 'guix)
+  (url "https://git.savannah.gnu.org/git/guix.git")
+  (commit "eb34ff16cc9038880e87e1a58a93331fca37ad92")))
diff --git a/manifest.scm b/manifest.scm
new file mode 100644
index 0000000..4b9aea9
--- /dev/null
+++ b/manifest.scm
@@ -0,0 +1,9 @@
+(specifications->manifest
+  (list "coreutils"
+        "which"
+        "wget"
+        "emacs"
+        "emacs-org2web"
+        "emacs-org"
+        "emacs-org-contrib"
+        "emacs-htmlize"))
-- 
GitLab