# HG changeset patch # User Samuel Hodgkins # Date 1508900134 -3600 # Node ID 226daad31c1b9c44b66a9d1380aed3d36c3d0e49 # Parent 097f9abc5afd4b1c61fe723de16454185daf5ff1 Fix a missed typo. diff -r 097f9abc5afd -r 226daad31c1b posts/Ikiwiki_Guix.md --- a/posts/Ikiwiki_Guix.md Wed Oct 25 03:40:08 2017 +0100 +++ b/posts/Ikiwiki_Guix.md Wed Oct 25 03:55:34 2017 +0100 @@ -1,6 +1,6 @@ [[!meta title="Guix-based ikiwiki" author="samis"]] [[!tag tech linux guix ikiwiki]] -This site very obviously uses [ikiwiki](https://ikiwiki.info) both as a static wiki compiler but also for the few dynamic elements present. It's written in perl, and has a large number of Perl module dependencies. Nearly all of these do not care about the versions of much else, so they'll just work after you install them. Unfortunately, I discovered the Ikiwiki's image functionality uses the PerlMagick module, which does indeed depend on ImageMagick - in fact, it depended on ImageMagick 6.x. It wasn't in Alpine's package repositories for my version (they only )and installing it by hand did not work, failing with an error. I even tried replacing the distro's ImageMagick with my own that included perl support, but to no avail. +This site very obviously uses [ikiwiki](https://ikiwiki.info) both as a static wiki compiler but also for the few dynamic elements present. It's written in perl, and has a large number of Perl module dependencies. Nearly all of these do not care about the versions of much else, so they'll just work after you install them. Unfortunately, I discovered the Ikiwiki's image functionality uses the PerlMagick module, which does indeed depend on ImageMagick - in fact, it depended on ImageMagick 6.x. It wasn't in Alpine's package repositories for my version (they only had 7.x ) and installing it by hand did not work, failing with an error. I even tried replacing the distro's ImageMagick with my own that included perl support, but to no avail. # Enter Nix (and Guix) At this time I had previously encountered Nix and Guix, both of which offer a substantially different approach to package management compared with conventional systems (such as regular distro package managers but others as well). One of their offered features is isolation: You can use a package (or a version of a package) without that extending to other packages or the system as a whole. There's other useful features that drop out of their model but this is the key one in this context.