starting new job...
→ running command: cd "/etc/byggsteg/job-clone//heks-linux/trunk" && git reset --hard && git pull
HEAD is now at 53e2281 feat: Add maak to manifest.scm
From https://codeberg.org/jjba23/heks-linux
53e2281..856b07b trunk -> origin/trunk
Updating 53e2281..856b07b
Fast-forward
manifest.scm | 1 +
1 file changed, 1 insertion(+)
→ running command: cd /etc/byggsteg/job-clone/heks-linux/trunk && uname -a
Linux wolk-jjba 7.1.5-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64 GNU/Linux
→ running command: cd /etc/byggsteg/job-clone/heks-linux/trunk && git log --name-status HEAD^..HEAD
commit 856b07b1ee6e36d80ab7f88d2e10a42cc40566f5
Author: Josep Bigorra <jjbigorra@gmail.com>
Date: Tue Oct 20 13:42:42 2026 +0200
docs: Improve showcase
M manifest.scm
→ running command: cd /etc/byggsteg/job-clone/heks-linux/trunk && maak test
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 1.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 1.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 1.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 2.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 2.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 2.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 3.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 3.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 3.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 4.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 4.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 4.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 5.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 5.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 5.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 6.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 6.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 6.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 7.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 7.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 7.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 8.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 8.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 8.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 9.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 9.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 9.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 10.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 10.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 10.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 11.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 11.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 11.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 12.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 12.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 12.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 13.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 13.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 13.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 14.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 14.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 14.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 15.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 15.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 15.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 16.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 16.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 16.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 17.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 17.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 17.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 18.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 18.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 18.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 19.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 19.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 19.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 21.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 21.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 21.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 22.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 22.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 22.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 23.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 23.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 23.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 24.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 24.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 24.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 25.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 25.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 25.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 26.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 26.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 26.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 27.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 27.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 27.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 28.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 28.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 28.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 29.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 29.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 29.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 30.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 30.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 30.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 31.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 31.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 31.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 32.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 32.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 32.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 33.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 33.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 33.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 34.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 34.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 34.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 35.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 35.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 35.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 36.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 36.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 36.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 37.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 37.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 37.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 38.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 38.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 38.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 39.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 39.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 39.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 40.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 40.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 40.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 41.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 41.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 41.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 42.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 42.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 42.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 43.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 43.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 43.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 44.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 44.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 44.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 45.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 45.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 45.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 46.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 46.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 46.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 47.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 47.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 47.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 48.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 48.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 48.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 49.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 49.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 49.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 51.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 51.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 51.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 52.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 52.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 52.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 53.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 53.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 53.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 54.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 54.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 54.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 55.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 55.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 55.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 56.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 56.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 56.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 57.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 57.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 57.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 58.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 58.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 58.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 59.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 59.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 59.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 60.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 60.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 60.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 61.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 61.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 61.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 62.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 62.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 62.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 63.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 63.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 63.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 64.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 64.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 64.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 65.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 65.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 65.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 67.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 67.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 67.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 68.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 68.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 68.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 69.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 69.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 69.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 70.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 70.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 70.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 71.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 71.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 71.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 72.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 72.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 72.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 73.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 73.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 73.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 74.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 74.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 74.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 75.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 75.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 75.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 76.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 76.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 76.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 77.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 77.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 77.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 78.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 78.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 78.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 79.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 79.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 79.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 80.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 80.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 80.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 81.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 81.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 81.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 82.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 82.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 82.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 83.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 83.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 83.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 84.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 84.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 84.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 85.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 85.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 85.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 86.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 86.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 86.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 87.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 87.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 87.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 88.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 88.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 88.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 89.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 89.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 89.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 90.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 90.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 90.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 91.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 91.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 91.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 92.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 92.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 92.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 93.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 93.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 93.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 94.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 94.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 94.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 95.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 95.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 95.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 96.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 96.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 96.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 97.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 97.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 97.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 98.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 98.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 98.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 99.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 99.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 99.7%
115.0 MB will be downloaded
.
.
.
.
.
.
..
.
.
..
...
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 25.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 75.0%
557.0 MB will be downloaded
.....................
.
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
1.0 MB will be downloaded
.
..
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 40.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 60.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 80.0%
7.7 MB will be downloaded
...
.
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 8.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 16.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 25.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 33.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 41.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 58.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 75.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 83.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 91.7%
6.9 MB will be downloaded
.
.
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
19.7 MB will be downloaded
..
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
0.1 MB will be downloaded
..
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 40.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 60.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 80.0%
0.5 MB will be downloaded
.
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
13.8 MB will be downloaded
.
.
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
15.8 MB will be downloaded
.
..
..
.
..
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 33.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.7%
0.9 MB will be downloaded
..
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
1.0 MB will be downloaded
.
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
1.4 MB will be downloaded
..
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 20.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 40.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 60.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 80.0%
0.6 MB will be downloaded
..
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 0.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 16.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 33.3%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 50.0%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 66.7%
substitute: looking for substitutes on 'https://bordeaux.guix.gnu.org'... 83.3%
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 100.0%
substitute:
substitute: looking for substitutes on 'https://ci.guix.gnu.org'... 0.0%
The following derivation will be built:
/gnu/store/jz6jslc7gmbp6fi3kd385i6qn9vgxld0-profile.drv
0.3 MB will be downloaded
.
..
..
..
..
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 12 packages...
scanning directories for unit tests...
scanning present working directory for unit tests...
found unit tests: (niri-spec.scm dconf-spec.scm bridges-spec.scm waybar-spec.scm rofi-spec.scm alacritty-spec.scm palette-spec.scm kitty-spec.scm wallpaper-spec.scm prelude-spec.scm mako-spec.scm gtk-spec.scm)
running unit tests from file: niri-spec.scm, entrypoint: spec
[INFO] [2026-10-20 11:44:06 UTC] load-local-overrides: Attempting override resolution for module (heks-linux user-settings) with profile 'local-settings'
[INFO] [2026-10-20 11:44:06 UTC] load-local-overrides: $XDG_CONFIG_HOME empty/unset, falling back to $HOME/.config
[INFO] [2026-10-20 11:44:06 UTC] load-local-overrides: Checking for override file at: /root/.config/heks-linux/local-settings.scm
[INFO] [2026-10-20 11:44:06 UTC] load-local-overrides: No override file found at /root/.config/heks-linux/local-settings.scm. Skipping.
+----------------------------------------------+
[📑 suite] Niri Configuration Suite
[🧪 test] macOS And Omarchy Parity Bindings
[⚙️ assert] Toggling floating mode should move to Super+Shift+Space✅ pass - assertion succesful, got: #t
[⚙️ assert] Do-not-disturb should be reachable from a binding✅ pass - assertion succesful, got: #t
[⚙️ assert] The theme picker should be reachable from a binding✅ pass - assertion succesful, got: #t
[⚙️ assert] Super+Q should close the focused window✅ pass - assertion succesful, got: #t
[⚙️ assert] Super+V should browse the clipboard history✅ pass - assertion succesful, got: #t
[⚙️ assert] Super+Return should open a terminal, as in Omarchy✅ pass - assertion succesful, got: #t
[⚙️ assert] Super+Space should open the spotlight launcher✅ pass - assertion succesful, got: #t
[🧪 test] Rounded Windows And Soft Shadows
[⚙️ assert] Windows should get a rounded corner radius✅ pass - assertion succesful, got: #t
[⚙️ assert] Windows should cast a drop shadow✅ pass - assertion succesful, got: #t
[🧪 test] Natural Scrolling Follows Its Setting
[⚙️ assert] Natural scrolling should stay off while the setting is disabled✅ pass - assertion succesful, got: #t
[⚙️ assert] Enabling the setting should emit natural-scroll into the config✅ pass - assertion succesful, got: #t
[🧪 test] Springy macOS Style Motion
[⚙️ assert] Window opening should be animated✅ pass - assertion succesful, got: #t
[⚙️ assert] Animations should be spring driven✅ pass - assertion succesful, got: #t
[⚙️ assert] Workspace switches should be animated✅ pass - assertion succesful, got: #t
[🧪 test] Clipboard History Is Recorded
[⚙️ assert] The clipboard watcher should be started with the session✅ pass - assertion succesful, got: #t
[🧪 test] Configuration Serializes To KDL
[⚙️ assert] The generated config should start with the Heks header✅ pass - assertion succesful, got: #t
[⚙️ assert] A binds block should be emitted✅ pass - assertion succesful, got: #t
[⚙️ assert] An input block should be emitted✅ pass - assertion succesful, got: #t
[🧪 test] Startup Scripts Exist Under ~/.local/bin
[⚙️ assert] The startup entry must name the script that the dconf module installs✅ pass - assertion succesful, got: #t
[⚙️ assert] The stale, non-existent startup script name must be gone✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 7159 microseconds
running unit tests from file: dconf-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] dconf test suite
[🧪 test] Heks settings are namespaced and complete
[⚙️ assert] The mono font should be exported to dconf✅ pass - assertion succesful, got: #t
[⚙️ assert] The palette should be exported to dconf✅ pass - assertion succesful, got: #t
[⚙️ assert] The language should be written under /heks-linux✅ pass - assertion succesful, got: #t
[🧪 test] mk-nested-dconf-writer-commands
[⚙️ assert] Nested settings should flatten into dconf write commands✅ pass - assertion succesful, got: (echo "/org/gnome/desktop/interface/gtk-key-theme --> 'Emacs'" && dconf write "/org/gnome/desktop/interface/gtk-key-theme" "'Emacs'" echo "/org/gnome/desktop/interface/cursor-size --> 24" && dconf write "/org/gnome/desktop/interface/cursor-size" "24" echo "/org/gnome/desktop/interface/enable-animations --> true" && dconf write "/org/gnome/desktop/interface/enable-animations" "true")
[🧪 test] caps-to-ctrl follows its parameter
[⚙️ assert] Enabling caps-to-ctrl must write true✅ pass - assertion succesful, got: #t
[⚙️ assert] Disabling caps-to-ctrl must write false, not a hardcoded true✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 893 microseconds
running unit tests from file: bridges-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] bridges test suite
[🧪 test] Emacs Bridge Carries The Settings Values
[⚙️ assert] The mono font setting should travel across the bridge✅ pass - assertion succesful, got: Intel One Mono
[⚙️ assert] The clone directory should travel across the bridge✅ pass - assertion succesful, got: ~/Hacking/heks-linux
[🧪 test] Bash Bridge String Generation
[⚙️ assert] Bash bridge should start with correct shebang✅ pass - assertion succesful, got: #t
[⚙️ assert] Bash bridge should export the highlight variable✅ pass - assertion succesful, got: #t
[🧪 test] Emacs Bridge Elisp Generation
[⚙️ assert] Should configure the Emacs theme✅ pass - assertion succesful, got: #t
[⚙️ assert] Should configure the sans font✅ pass - assertion succesful, got: #t
[⚙️ assert] Bridge output should be wrapped in a 'progn✅ pass - assertion succesful, got: progn
[⚙️ assert] Should configure mono font✅ pass - assertion succesful, got: #t
[⚙️ assert] Bridge output should be a list (S-expression)✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 9693 microseconds
running unit tests from file: waybar-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] Waybar Configuration Suite
[🧪 test] Power Menu SXML Structure
[⚙️ assert] Power menu should contain an interface definition✅ pass - assertion succesful, got: #t
[⚙️ assert] Power menu should start with SXML TOP node✅ pass - assertion succesful, got: *TOP*
[⚙️ assert] The logout entry should carry a readable label✅ pass - assertion succesful, got: #t
[⚙️ assert] Power menu should contain a logout GtkMenuItem✅ pass - assertion succesful, got: #t
[🧪 test] Main Configuration (JSON Source)
[⚙️ assert] Waybar config should be a list (convertible to JSON)✅ pass - assertion succesful, got: #t
[⚙️ assert] Waybar position should be top by default✅ pass - assertion succesful, got: top
[⚙️ assert] The do-not-disturb indicator should sit on the bar✅ pass - assertion succesful, got: #t
[⚙️ assert] Modules should be represented as vectors for JSON arrays✅ pass - assertion succesful, got: #t
[🧪 test] Do Not Disturb Indicator
[⚙️ assert] Clicking the indicator should toggle the mako DND mode✅ pass - assertion succesful, got: #t
[🧪 test] Rounded Bar Styling
[⚙️ assert] The floating bar should carry the configured corner radius✅ pass - assertion succesful, got: 0px
[⚙️ assert] The bar corner radius should be overridable✅ pass - assertion succesful, got: 0px
[🧪 test] Power Menu Actions
[⚙️ assert] The shutdown entry should power the machine off✅ pass - assertion succesful, got: systemctl poweroff
[⚙️ assert] The logout entry should terminate the login session✅ pass - assertion succesful, got: loginctl terminate-session $XDG_SESSION_ID
[🧪 test] Dynamic Start Button
[⚙️ assert] Start button should return a list✅ pass - assertion succesful, got: #t
[⚙️ assert] Start button should respect the content keyword argument✅ pass - assertion succesful, got: λ test
[🧪 test] CSS Rules Generation
[⚙️ assert] Module background should be transparent in CSS✅ pass - assertion succesful, got: transparent
[⚙️ assert] CSS list should not be empty✅ pass - assertion succesful, got: #t
[⚙️ assert] CSS should contain a rule for the waybar window✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 11157 microseconds
running unit tests from file: rofi-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] Rofi Configuration and Theming
[🧪 test] Theme Picker Lists Every Palette
[⚙️ assert] The picker should know which palette is currently active✅ pass - assertion succesful, got: #t
[⚙️ assert] Every registered palette should appear in the picker✅ pass - assertion succesful, got: 38
[🧪 test] Rofi Script Modes Registered
[⚙️ assert] The launcher, window switcher and power menu modes should be registered✅ pass - assertion succesful, got: #t
[⚙️ assert] The theme picker mode should be registered✅ pass - assertion succesful, got: #t
[⚙️ assert] The power mode should point at the generated script✅ pass - assertion succesful, got: #t
[🧪 test] Rofi Theme (AList Structure)
[⚙️ assert] Theme should be a list (AList)✅ pass - assertion succesful, got: #t
[⚙️ assert] Should contain a global wildcard '*' section✅ pass - assertion succesful, got: #t
[⚙️ assert] The spotlight panel should be softly rounded✅ pass - assertion succesful, got: 18px
[⚙️ assert] Global background-color should be transparent✅ pass - assertion succesful, got: transparent
[🧪 test] Power Menu Script
[⚙️ assert] The power menu must be a Bash script✅ pass - assertion succesful, got: #t
[⚙️ assert] The power menu should expose a shutdown action✅ pass - assertion succesful, got: #t
[⚙️ assert] The first entry must use the rofi \0icon\x1f separator✅ pass - assertion succesful, got: #t
[🧪 test] Theme Picker Script
[⚙️ assert] Choosing a palette must persist itself as a local override✅ pass - assertion succesful, got: #t
[⚙️ assert] The theme picker must be a Bash script✅ pass - assertion succesful, got: #t
[⚙️ assert] Choosing a palette must re-render the palette-dependent configs✅ pass - assertion succesful, got: #t
[🧪 test] Rofi Config String Template
[⚙️ assert] Icons should be enabled by default✅ pass - assertion succesful, got: #t
[⚙️ assert] Configuration should inject the configured sans font✅ pass - assertion succesful, got: #t
[⚙️ assert] Config must reference the generated theme file✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 12911 microseconds
running unit tests from file: alacritty-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] Generated File
[🧪 test] Key Bindings Are Collected Into One Array
[⚙️ assert] Control+Y pastes✅ pass - assertion succesful, got: #t
[⚙️ assert] Bindings are rendered as a TOML array✅ pass - assertion succesful, got: #t
[⚙️ assert] Shift+Home jumps to the top of the scrollback✅ pass - assertion succesful, got: #t
[🧪 test] Every Section Is Declared
[⚙️ assert] A general section is emitted✅ pass - assertion succesful, got: #t
[⚙️ assert] A keyboard section is emitted✅ pass - assertion succesful, got: #t
[⚙️ assert] The file carries a generated-file header✅ pass - assertion succesful, got: #t
+----------------------------------------------+
[📑 suite] Setting Serialization
[🧪 test] Settings Serialize To TOML
[⚙️ assert] Inline tables pass through verbatim✅ pass - assertion succesful, got: padding = { x = 16, y = 16}
[⚙️ assert] Strings are quoted✅ pass - assertion succesful, got: shell = "bash"
[⚙️ assert] Booleans render unquoted✅ pass - assertion succesful, got: live_config_reload = true
[⚙️ assert] Numbers render unquoted✅ pass - assertion succesful, got: size = 12
+----------------------------------------------+
[📑 suite] Modifier Translation
[🧪 test] Short Modifiers Use Alacritty Spelling
[⚙️ assert] Alt and Super are spelled out✅ pass - assertion succesful, got: Alt|Super
[⚙️ assert] Modifiers are joined with a vertical bar✅ pass - assertion succesful, got: Control|Shift
[⚙️ assert] Unknown modifiers pass through✅ pass - assertion succesful, got: Control|Custom
+----------------------------------------------+
[📑 suite] Binding Serialization
[🧪 test] Bindings Render As Inline TOML Tables
[⚙️ assert] A binding is one inline table✅ pass - assertion succesful, got: { key = "Y", mods = "Control", action = "Paste"}ℹ️ info - ran 4 tasks in: 0 seconds, 11451 microseconds
running unit tests from file: palette-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] Palette Registry Suite
[🧪 test] Every Palette Exposes A Full Colour Set
[⚙️ assert] Each palette must define primary/text/background colours✅ pass - assertion succesful, got: #t
[🧪 test] Colour Converters
[⚙️ assert] hex-to-rgba should convert a hex colour✅ pass - assertion succesful, got: rgba(255, 0, 0, 1)
[⚙️ assert] hex-to-rgb should convert a hex colour✅ pass - assertion succesful, got: rgb(0, 255, 0)
[⚙️ assert] hex-to-rgba should honour the alpha argument✅ pass - assertion succesful, got: rgba(0, 0, 255, 0.5)
[⚙️ assert] hex-to-rgba should fall back on bad input✅ pass - assertion succesful, got: rgba(0, 0, 0, 1)
[🧪 test] Registry Is Non Empty And Symbolic
[⚙️ assert] Every palette name should be a symbol✅ pass - assertion succesful, got: #t
[⚙️ assert] Every palette name should be convertible to a string✅ pass - assertion succesful, got: #t
[⚙️ assert] At least one palette should be registered✅ pass - assertion succesful, got: #t
[🧪 test] Dark And Light Classification
[⚙️ assert] catppuccin-latte should be a light palette✅ pass - assertion succesful, got: #t
[⚙️ assert] catppuccin-mocha should be a dark palette✅ pass - assertion succesful, got: #t
[🧪 test] Every Palette Exposes Its Downstream Themes
[⚙️ assert] Each palette must map to a supported lambdock theme✅ pass - assertion succesful, got: #t
[⚙️ assert] Each palette must map to a GTK, icon, cursor and accent theme✅ pass - assertion succesful, got: #t
[🧪 test] Unknown Palettes Are Rejected
[⚙️ assert] Looking up an unregistered palette should raise✅ pass - success catching error: %exception: (#<&message message: "exception ocurred! unknown palette selected: definitely-not-a-palette">)ℹ️ info - ran 1 tasks in: 0 seconds, 5226 microseconds
running unit tests from file: kitty-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] Kitty Terminal Suite
[🧪 test] Modifier Translation Uses Kitty Spelling
[⚙️ assert] Modifiers are joined with a plus sign✅ pass - assertion succesful, got: ctrl+shift
[⚙️ assert] Unknown modifiers pass through✅ pass - assertion succesful, got: ctrl+Custom
[⚙️ assert] Alt and Super are spelled out✅ pass - assertion succesful, got: alt+super
[🧪 test] Generated File Declares Every Section
[⚙️ assert] A key-binding section is emitted✅ pass - assertion succesful, got: #t
[⚙️ assert] A font section is emitted✅ pass - assertion succesful, got: #t
[⚙️ assert] Scrollback is configured✅ pass - assertion succesful, got: #t
[⚙️ assert] The file carries a generated-file header✅ pass - assertion succesful, got: #t
[🧪 test] Key Bindings Use Key Names Kitty Recognises
[⚙️ assert] Alt+W copies✅ pass - assertion succesful, got: #t
[⚙️ assert] Ctrl+shift+end jumps to the bottom of the scrollback✅ pass - assertion succesful, got: #t
[⚙️ assert] Ctrl+shift+home jumps to the top of the scrollback✅ pass - assertion succesful, got: #t
[⚙️ assert] Control+Y pastes✅ pass - assertion succesful, got: #t
[⚙️ assert] Font size shrinks with ctrl+shift+minus✅ pass - assertion succesful, got: #t;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling ./test/veritas/unit/niri-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/niri-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/niri-spec.scm"
;;; compiling ./src/heks-linux/niri.scm
;;; WARNING: compilation of ./src/heks-linux/niri.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/niri.scm"
;;; compiling ./src/heks-linux/palette.scm
;;; WARNING: compilation of ./src/heks-linux/palette.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/palette.scm"
;;; compiling ./src/heks-linux/wallpaper.scm
;;; WARNING: compilation of ./src/heks-linux/wallpaper.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/wallpaper.scm"
;;; compiling ./src/heks-linux/prelude.scm
;;; WARNING: compilation of ./src/heks-linux/prelude.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/prelude.scm"
;;; compiling ./src/heks-linux/user-settings.scm
;;; WARNING: compilation of ./src/heks-linux/user-settings.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/user-settings.scm"
;;; compiling ./test/veritas/unit/dconf-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/dconf-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/dconf-spec.scm"
;;; compiling ./src/heks-linux/dconf.scm
;;; WARNING: compilation of ./src/heks-linux/dconf.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/dconf.scm"
;;; compiling ./test/veritas/unit/bridges-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/bridges-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/bridges-spec.scm"
;;; compiling ./src/heks-linux/bridges.scm
;;; WARNING: compilation of ./src/heks-linux/bridges.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/bridges.scm"
;;; compiling ./test/veritas/unit/waybar-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/waybar-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/waybar-spec.scm"
;;; compiling ./src/heks-linux/waybar.scm
;;; WARNING: compilation of ./src/heks-linux/waybar.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/waybar.scm"
;;; compiling ./test/veritas/unit/rofi-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/rofi-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/rofi-spec.scm"
;;; compiling ./src/heks-linux/rofi.scm
;;; WARNING: compilation of ./src/heks-linux/rofi.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/rofi.scm"
;;; compiling ./test/veritas/unit/alacritty-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/alacritty-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/alacritty-spec.scm"
;;; compiling ./src/heks-linux/alacritty.scm
;;; WARNING: compilation of ./src/heks-linux/alacritty.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/alacritty.scm"
;;; compiling ./test/veritas/unit/palette-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/palette-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/palette-spec.scm"
;;; compiling ./test/veritas/unit/kitty-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/kitty-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/kitty-spec.scm"
;;; compiling ./src/heks-linux/kitty.scm
;;; WARNING: compilation of ./src/heks-linux/kitty.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/kitty.scm"
;;; compiling ./test/veritas/unit/wallpaper-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/wallpaper-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/wallpaper-spec.scm"
;;; compiling
[⚙️ assert] Font size grows with ctrl+shift+equal✅ pass - assertion succesful, got: #t
[🧪 test] Bindings Render As Map Lines
[⚙️ assert] A string action keeps its arguments✅ pass - assertion succesful, got: map ctrl+shift+plus change_font_size all +2.0
[⚙️ assert] A symbol action renders bare✅ pass - assertion succesful, got: map ctrl+y paste_from_clipboardℹ️ info - ran 1 tasks in: 0 seconds, 6944 microseconds
running unit tests from file: wallpaper-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] Wallpaper Selection Suite
[🧪 test] Every Palette Resolves To Absolute Paths
[⚙️ assert] No palette may end up without a wallpaper set✅ pass - assertion succesful, got: #t
[🧪 test] Generic Operandi Uses The Bergen Set
[⚙️ assert] modus-operandi should include the Bergen backgrounds✅ pass - assertion succesful, got: #t
[⚙️ assert] modus-operandi should stay inside the shared wallpaper tree✅ pass - assertion succesful, got: #t
[🧪 test] Tinted Operandi Reaches The macOS Set
[⚙️ assert] modus-operandi-tinted must not be swallowed by the generic operandi clause✅ pass - assertion succesful, got: #t
[⚙️ assert] The macOS wallpaper set should not be empty✅ pass - assertion succesful, got: #t
[🧪 test] Unknown Palettes Are Rejected
[⚙️ assert] An unregistered palette should raise instead of picking nothing✅ pass - success catching error: %exception: (#<&message message: "exception occurred! unknown palette selected (not-a-real-palette), could not determine wallpaper set.">)
[🧪 test] Rotation Script Is Valid Shell
[⚙️ assert] The script should contain one branch per wallpaper✅ pass - assertion succesful, got: 2
[⚙️ assert] The rotation script should replace the running swaybg✅ pass - assertion succesful, got: #t
[⚙️ assert] The rotation script should be POSIX shell✅ pass - assertion succesful, got: #t
[🧪 test] Catalogued Palettes Use Their Own Directories
[⚙️ assert] catppuccin-mocha should use its own artwork✅ pass - assertion succesful, got: #t
[⚙️ assert] ayu-dark should use the space artwork✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 2133 microseconds
running unit tests from file: prelude-spec.scm, entrypoint: spec
[INFO] [2026-10-20 11:44:06 UTC] Creating directory: /tmp/heks-prelude-spec-2
[INFO] [2026-10-20 11:44:06 UTC] Creating directory: /tmp/heks-prelude-spec-2/a
[INFO] [2026-10-20 11:44:06 UTC] Creating directory: /tmp/heks-prelude-spec-2/a/b
[INFO] [2026-10-20 11:44:06 UTC] Creating directory: /tmp/heks-prelude-spec-2/a/b/c
[INFO] [2026-10-20 11:44:06 UTC] Creating directory: /tmp/heks-prelude-spec-2/installed
[INFO] [2026-10-20 11:44:06 UTC] Creating directory: /tmp/heks-prelude-spec-2/installed/nested
[INFO] [2026-10-20 11:44:06 UTC] Writing config to file: /tmp/heks-prelude-spec-2/installed/nested/deep.conf
[INFO] [2026-10-20 11:44:06 UTC] Creating directory: /tmp/heks-prelude-spec-2/bin
[INFO] [2026-10-20 11:44:06 UTC] Writing config to file: /tmp/heks-prelude-spec-2/bin/script.sh
+----------------------------------------------+
[📑 suite] Prelude Helper Suite
[🧪 test] Config Files Install Into Missing Directories
[⚙️ assert] The default permissions should be #o644✅ pass - assertion succesful, got: 420
[⚙️ assert] The installer should write the contents✅ pass - assertion succesful, got: hello
[⚙️ assert] The installer should create its directory tree✅ pass - assertion succesful, got: #t
[🧪 test] Directory Trees Are Created Recursively
[⚙️ assert] Missing parents should be created, not just the leaf✅ pass - assertion succesful, got: #t
[⚙️ assert] The created leaf should really be a directory✅ pass - assertion succesful, got: #t
[🧪 test] Key Value Rendering
[⚙️ assert] Pairs should render with the default template✅ pass - assertion succesful, got: host=localhostport=80
[⚙️ assert] CSS pairs should render indented✅ pass - assertion succesful, got: color: black;
[⚙️ assert] The template should be overridable✅ pass - assertion succesful, got: host = localhost
[🧪 test] List Flattening
[⚙️ assert] Flattening the empty list should stay empty✅ pass - assertion succesful, got: ()
[⚙️ assert] Nested lists should be flattened✅ pass - assertion succesful, got: (1 2 3 4 5)
[🧪 test] Executable Config Files Get Executable Permissions
[⚙️ assert] Passing #o755 should make the file executable✅ pass - assertion succesful, got: 493
[🧪 test] Nested Structures Render As Ini Sections
[⚙️ assert] A nested list should become an INI section header✅ pass - assertion succesful, got: [settings]port=8080ℹ️ info - ran 1 tasks in: 0 seconds, 8679 microseconds
running unit tests from file: mako-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] Mako Notification Suite
[🧪 test] Do Not Disturb Mode Is Declared
[⚙️ assert] While in do-not-disturb, notifications must not be drawn✅ pass - assertion succesful, got: #t
[⚙️ assert] A do-not-disturb mode section should exist so makoctl can toggle it✅ pass - assertion succesful, got: #t
[🧪 test] Banners Match The macOS Look
[⚙️ assert] Notification banners should be rounded✅ pass - assertion succesful, got: #t
[⚙️ assert] Notification banners should be borderless✅ pass - assertion succesful, got: #t
[🧪 test] Notification behaviour is configured
[⚙️ assert] A default timeout should be set✅ pass - assertion succesful, got: #t
[⚙️ assert] Left click should dismiss a notification✅ pass - assertion succesful, got: #t
[⚙️ assert] Notification history should be kept✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 2885 microseconds
running unit tests from file: gtk-spec.scm, entrypoint: spec
+----------------------------------------------+
[📑 suite] GTK Configuration Suite
[🧪 test] dconf Button Layout
[⚙️ assert] The window manager should place the traffic lights on the left✅ pass - assertion succesful, got: 'close,minimize,maximize:'
[🧪 test] GTK 4 Settings
[⚙️ assert] GTK 4 windows should show macOS style traffic lights✅ pass - assertion succesful, got: close,minimize,maximize:
[⚙️ assert] The GTK 4 settings should be an association list✅ pass - assertion succesful, got: #t
[🧪 test] dconf Colour Scheme Follows The Palette
[⚙️ assert] Dark palettes should request the dark GTK scheme✅ pass - assertion succesful, got: 'prefer-dark'
[⚙️ assert] Light palettes should request the light GTK scheme✅ pass - assertion succesful, got: 'prefer-light'
[🧪 test] dconf Theme Names Come From The Palette
[⚙️ assert] The icon theme should be palette derived✅ pass - assertion succesful, got: 'WhiteSur-pink'
[⚙️ assert] An accent colour should always be exported✅ pass - assertion succesful, got: #t
[🧪 test] GTK 3 Settings
[⚙️ assert] GTK 3 windows should show macOS style traffic lights✅ pass - assertion succesful, got: close,minimize,maximize:
[⚙️ assert] The GTK 3 settings should be an association list✅ pass - assertion succesful, got: #t
[⚙️ assert] The sans font should be configured✅ pass - assertion succesful, got: #tℹ️ info - ran 1 tasks in: 0 seconds, 9113 microseconds
finished running tests
./test/veritas/unit/prelude-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/prelude-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/prelude-spec.scm"
;;; compiling ./test/veritas/unit/mako-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/mako-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/mako-spec.scm"
;;; compiling ./src/heks-linux/mako.scm
;;; WARNING: compilation of ./src/heks-linux/mako.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/mako.scm"
;;; compiling ./test/veritas/unit/gtk-spec.scm
;;; WARNING: compilation of ./test/veritas/unit/gtk-spec.scm failed:
;;; failed to create path for auto-compiled file "./test/veritas/unit/gtk-spec.scm"
;;; compiling ./src/heks-linux/gtk.scm
;;; WARNING: compilation of ./src/heks-linux/gtk.scm failed:
;;; failed to create path for auto-compiled file "./src/heks-linux/gtk.scm"
--------------------------------------------------------------
Maak: the infinitely extensible command runner
Loading tasks from Maak file: /etc/byggsteg/job-clone/heks-linux/trunk/maak.scm
Executing Maak tasks: test
--------------------------------------------------------------
=> Running Maak task: test
Unit tests, run in a hermetic container.
Execute command:
guix time-machine --channels=channels.scm -- shell -m manifest.scm --container -- guile -L ./src -L ./test -c '((@ (veritas runner) run-tests))'
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /etc/byggsteg/job-clone/heks-linux/trunk/maak.scm
;;; compiled /tmp/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/heks-linux/trunk/maak.scm.go
→ running command: cd /etc/byggsteg/job-clone/heks-linux/trunk && sudo maak deploy
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
[INFO] [2026-10-20 13:44:07 CEST] load-local-overrides: Attempting override resolution for module (heks-linux user-settings) with profile 'local-settings'
[INFO] [2026-10-20 13:44:07 CEST] load-local-overrides: $XDG_CONFIG_HOME empty/unset, falling back to $HOME/.config
[INFO] [2026-10-20 13:44:07 CEST] load-local-overrides: Checking for override file at: /root/.config/heks-linux/local-settings.scm
[INFO] [2026-10-20 13:44:07 CEST] load-local-overrides: No override file found at /root/.config/heks-linux/local-settings.scm. Skipping.API documentation saved to doc/api
index.texi:2133: warning: @end should only appear at the beginning of a line
index.texi:2147: warning: @end should only appear at the beginning of a line
index.texi:2162: warning: @end should only appear at the beginning of a line
index.texi: warning: must specify a title with a title command or @top
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
renamed './index_html' -> './doc/api-dist'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/API.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005falacritty.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fbridges.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fbtop.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fcontainers.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fdconf.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005ffastfetch.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fgif.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fgit.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fgtk.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fkitty.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005flambdock.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fmako.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fniri.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fpackages_005fflatpak.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fpackages_005fzypper.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fpalette.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fprelude.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005frmpc.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005frofi.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fuser_002dsettings.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fwallpaper.html'
removed '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fwaybar.html'
removed directory '/srv/http/jointhefreeworld.org/api-docs/heks-linux'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
mkdir: created directory '/srv/http/jointhefreeworld.org/api-docs/heks-linux'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
renamed 'doc/api-dist/API.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/API.html'
renamed 'doc/api-dist/heks_002dlinux_005falacritty.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005falacritty.html'
renamed 'doc/api-dist/heks_002dlinux_005fbridges.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fbridges.html'
renamed 'doc/api-dist/heks_002dlinux_005fbtop.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fbtop.html'
renamed 'doc/api-dist/heks_002dlinux_005fcontainers.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fcontainers.html'
renamed 'doc/api-dist/heks_002dlinux_005fdconf.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fdconf.html'
renamed 'doc/api-dist/heks_002dlinux_005ffastfetch.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005ffastfetch.html'
renamed 'doc/api-dist/heks_002dlinux_005fgif.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fgif.html'
renamed 'doc/api-dist/heks_002dlinux_005fgit.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fgit.html'
renamed 'doc/api-dist/heks_002dlinux_005fgtk.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fgtk.html'
renamed 'doc/api-dist/heks_002dlinux_005fkitty.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fkitty.html'
renamed 'doc/api-dist/heks_002dlinux_005flambdock.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005flambdock.html'
renamed 'doc/api-dist/heks_002dlinux_005fmako.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fmako.html'
renamed 'doc/api-dist/heks_002dlinux_005fniri.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fniri.html'
renamed 'doc/api-dist/heks_002dlinux_005fpackages_005fflatpak.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fpackages_005fflatpak.html'
renamed 'doc/api-dist/heks_002dlinux_005fpackages_005fzypper.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fpackages_005fzypper.html'
renamed 'doc/api-dist/heks_002dlinux_005fpalette.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fpalette.html'
renamed 'doc/api-dist/heks_002dlinux_005fprelude.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fprelude.html'
renamed 'doc/api-dist/heks_002dlinux_005frmpc.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005frmpc.html'
renamed 'doc/api-dist/heks_002dlinux_005frofi.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005frofi.html'
renamed 'doc/api-dist/heks_002dlinux_005fuser_002dsettings.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fuser_002dsettings.html'
renamed 'doc/api-dist/heks_002dlinux_005fwallpaper.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fwallpaper.html'
renamed 'doc/api-dist/heks_002dlinux_005fwaybar.html' -> '/srv/http/jointhefreeworld.org/api-docs/heks-linux/heks_002dlinux_005fwaybar.html'
sh: warning: setlocale: LC_ALL: cannot change locale (C.UTF-8): No such file or directory
removed 'doc/api/index.texi'
removed directory 'doc/api'
removed directory 'doc/api-dist'
removed directory 'doc'
--------------------------------------------------------------
Maak: the infinitely extensible command runner
Loading tasks from Maak file: /etc/byggsteg/job-clone/heks-linux/trunk/maak.scm
Executing Maak tasks: deploy
--------------------------------------------------------------
=> Running Maak task: deploy
Deploy the project's documentation.
Execute command:
guix time-machine --channels=channels.scm -- shell -m manifest.scm -- documenta api ./src/heks-linux && texi2any -v --html --css-ref=https://jointhefreeworld.org/static/css/jointhefreeworld.css -o index_html ./doc/api/index.texi