summaryrefslogtreecommitdiff
path: root/website
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-29 14:04:48 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-30 00:29:41 +0200
commitf22046aebe5abc6ac0690724235a1f1cf2fa3bff (patch)
treeb9d954d2f5d851b0a2ff3203f0c20c1af07eeaf4 /website
parentwebsite: 'manual-url' now accepts a #:language parameter. (diff)
downloadguix-artwork-f22046aebe5abc6ac0690724235a1f1cf2fa3bff.tar.gz
website: posts: Update references to the manual.
This commit is the result of running: sed -i -'es|manual/html_node|manual/en/html_node|g' posts/*.*
Diffstat (limited to 'website')
-rw-r--r--website/posts/back-from-gpce.md2
-rw-r--r--website/posts/coming-events-2017.md2
-rw-r--r--website/posts/container-provisioning-with-guix.sxml4
-rw-r--r--website/posts/creating-bundles-with-guix-pack.md8
-rw-r--r--website/posts/emacs-as-a-general-purpose-package-manager.sxml8
-rw-r--r--website/posts/gnome-in-guixsd.sxml4
-rw-r--r--website/posts/gnu-guix--guixsd-0.10.0-released.sxml24
-rw-r--r--website/posts/gnu-guix-0.2-released.sxml4
-rw-r--r--website/posts/gnu-guix-0.7-released.sxml8
-rw-r--r--website/posts/gnu-guix-0.8-released.sxml20
-rw-r--r--website/posts/gnu-guix-0.8.1-released.sxml14
-rw-r--r--website/posts/gnu-guix-0.8.2-released.sxml16
-rw-r--r--website/posts/gnu-guix-0.8.3-released.sxml16
-rw-r--r--website/posts/gnu-guix-0.9.0-released.sxml22
-rw-r--r--website/posts/gnu-guix-and-guixsd-0.11.0-released.sxml20
-rw-r--r--website/posts/gnu-guix-and-guixsd-0.12.0-released.sxml22
-rw-r--r--website/posts/gnu-guix-and-guixsd-0.13.0-released.md24
-rw-r--r--website/posts/gnu-guix-and-guixsd-0.14.0-released.md34
-rw-r--r--website/posts/gnu-guix-and-guixsd-0.15.0-released.md8
-rw-r--r--website/posts/gnu-guix-welcomes-four-students-for-gsoc.sxml8
-rw-r--r--website/posts/growing-our-build-farm.html2
-rw-r--r--website/posts/gsoc-report-2018.md2
-rw-r--r--website/posts/gsoc-update.sxml2
-rw-r--r--website/posts/guix-android.md6
-rw-r--r--website/posts/guix-pack-relocatable.md2
-rw-r--r--website/posts/guix-starts-fundraising-campaign-with-support-from-the-fsf.sxml2
-rw-r--r--website/posts/guix-tox-talk-at-pyconfr-october-17th.sxml2
-rw-r--r--website/posts/guixsd-port-arm.md2
-rw-r--r--website/posts/guixsd-system-tests.sxml30
-rw-r--r--website/posts/join-gnu-guix-outreachy-gsoc-2018.md2
-rw-r--r--website/posts/packaging-tutorial.md6
-rw-r--r--website/posts/purely-functional-software-deployment-model.md2
-rw-r--r--website/posts/reproducible-build-summit.html8
-rw-r--r--website/posts/reproducible-builds-a-means-to-an-end.sxml8
-rw-r--r--website/posts/reproducible-builds-status-update.md10
-rw-r--r--website/posts/running-services-in-containers.md12
-rw-r--r--website/posts/service-composition-in-guixsd.sxml22
-rw-r--r--website/posts/state-of-aarch64-on-guix.md2
-rw-r--r--website/posts/timely-delivery-of-security-updates.sxml10
-rw-r--r--website/posts/use-stock-ssh-agent-everywhere.md28
40 files changed, 214 insertions, 214 deletions
diff --git a/website/posts/back-from-gpce.md b/website/posts/back-from-gpce.md
index 6f1eb0f..f953163 100644
--- a/website/posts/back-from-gpce.md
+++ b/website/posts/back-from-gpce.md
@@ -10,6 +10,6 @@ an academic conference focused on generative programming techniques. I
presented [_Code Staging in
GNU Guix_](https://hal.inria.fr/hal-01580582/en), a paper that discusses
the motivation for and genesis of
-[G-expressions](https://www.gnu.org/software/guix/manual/html_node/G_002dExpressions.html)
+[G-expressions](https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html)
as well as recent improvements. The slides are [available
here](https://www.gnu.org/software/guix/guix-gpce-20171023.pdf).
diff --git a/website/posts/coming-events-2017.md b/website/posts/coming-events-2017.md
index 5519005..fd61405 100644
--- a/website/posts/coming-events-2017.md
+++ b/website/posts/coming-events-2017.md
@@ -12,7 +12,7 @@ Guix will be present on a few venues in the coming weeks:
I will present the paper [_Code Staging in
GNU Guix_](https://hal.inria.fr/hal-01580582/en), which discusses
the motivation for and genesis of
- [G-expressions](https://www.gnu.org/software/guix/manual/html_node/G_002dExpressions.html),
+ [G-expressions](https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html),
as well as recent improvements. It’s an honor to be presenting
before an audience of experts in the field!
2. Christopher Baines will be at [freenode
diff --git a/website/posts/container-provisioning-with-guix.sxml b/website/posts/container-provisioning-with-guix.sxml
index b5d1d28..3909c1b 100644
--- a/website/posts/container-provisioning-with-guix.sxml
+++ b/website/posts/container-provisioning-with-guix.sxml
@@ -15,14 +15,14 @@
(p "Containers are a hot topic, and there are many implementations available, but Guix containers are built differently. Compared to other container implementations such as Docker, the most notable difference is that disk images and layered file systems are not used. Instead, the necessary software packages are inserted into containers via simple bind mounts. A pleasant consequence of this structure is that software is deduplicated system-wide. A package used in any number of containers is only on disk in a single place. Additionally, some containers may be created by unprivileged users, allowing any Guix user to create isolated sandboxes for their applications to play in."
(br))
(p "One of the programs that uses call-with-container is "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-environment.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-environment.html"))
"'guix environment'")
", the generic virtual development environment creation tool. A --container flag has been introduced that will, as the name suggests, spawn the environment inside of a container. The container only has file system access to the directory from which 'guix environment' was invoked and the read-only store directories of the dependencies. Additional directories and files may be shared from the host using the --expose and --share flags. For example, a \"containerized\" development environment that is capable of building Guix from source may be created like so:"
(br))
(div (@ (class "example"))
(pre "guix environment --container guix "))
(p "Likewise, the "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html"))
"'guix system'")
" tool has been extended with a 'container' action for creating scripts that launch full-blown GuixSD containers:"
(br))
diff --git a/website/posts/creating-bundles-with-guix-pack.md b/website/posts/creating-bundles-with-guix-pack.md
index bf21747..97873db 100644
--- a/website/posts/creating-bundles-with-guix-pack.md
+++ b/website/posts/creating-bundles-with-guix-pack.md
@@ -21,7 +21,7 @@ difficult for a developer, but it’s certainly cumbersome.
Andy Wingo, the driving force behind Guile, thought that it would be
nice to propose a binary tarball of Guile 2.2.0 on the day of its
release. Guix had already been providing
-[binary tarballs](https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html)
+[binary tarballs](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html)
for a couple of years, so why not do the same for Guile? Essentially,
the new `guix pack` command is a generalization of what Guix was already
using.
@@ -46,7 +46,7 @@ then you get a complete “Guile SDK” containing Guile, Emacs,
When you extract the tarball, you get a `/gnu/store` directory with a
bunch of sub-directories with
-[these long hashes](https://www.gnu.org/software/guix/manual/html_node/Features.html),
+[these long hashes](https://www.gnu.org/software/guix/manual/en/html_node/Features.html),
one of which is the “profile” containing Guile, Emacs, and Geiser.
You wouldn’t want to ask users to type
@@ -99,7 +99,7 @@ and fairly easy to produce, we added an option to produce images in this
format (Ricardo Wurmus
[initially contributed Docker support](https://lists.gnu.org/archive/html/guix-devel/2017-01/msg00188.html)
for the low-level
-[`guix archive`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-archive.html)
+[`guix archive`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-archive.html)
tool but we found that it made more sense to have it in `guix pack`):
```
@@ -129,7 +129,7 @@ guix pack --target=i686-w64-mingw32 guile
```
All the
-[package transformation options](https://www.gnu.org/software/guix/manual/html_node/Package-Transformation-Options.html)
+[package transformation options](https://www.gnu.org/software/guix/manual/en/html_node/Package-Transformation-Options.html)
that Guix supports are available to `guix pack`. Let’s say you’re a
developer of a large piece of software such as a web browser like
[IceCat](https://gnu.org/s/gnuzilla) and you’d like your users to test
diff --git a/website/posts/emacs-as-a-general-purpose-package-manager.sxml b/website/posts/emacs-as-a-general-purpose-package-manager.sxml
index a68da96..01488d7 100644
--- a/website/posts/emacs-as-a-general-purpose-package-manager.sxml
+++ b/website/posts/emacs-as-a-general-purpose-package-manager.sxml
@@ -10,12 +10,12 @@
(p (a (@ (href "http://www.gnu.org/software/guix"))
"GNU Guix")
", the package manager written for the GNU system, now has a neat Emacs user interface! It offers a visual, user-friendly alternative to the guix package "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html"))
"command-line interface")
"."
(br))
(p "For those familiar with "
- (a (@ (href "http://www.gnu.org/software/emacs/manual/html_node/emacs/Packages.html"))
+ (a (@ (href "http://www.gnu.org/software/emacs/manual/en/html_node/emacs/Packages.html"))
"package.el")
", the main user interface is quite similar: commands like guix-newest-available-packages, guix-search-by-regexp, and guix-installed-packages present a browsable list of packages. Individual packages can be selected, which displays additional details and presents a button to install or delete them. It is also possible to mark a set of packages for installation, upgrade, or deletion, and execute the set of operations in a single transaction."
(br))
@@ -23,10 +23,10 @@
(a (@ (href "http://nongnu.org/geiser/"))
"Geiser")
", the beloved Guile/Emacs interface and development environment, to communicate with the underlying Guile process. That Guile process, in turn, simply uses Guix and "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Package-Modules.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Package-Modules.html"))
"the whole distribution")
" as libraries—the goodness of embedding the "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html"))
"packaging DSL")
" in a general-purpose language."
(br))
diff --git a/website/posts/gnome-in-guixsd.sxml b/website/posts/gnome-in-guixsd.sxml
index 492133e..043c347 100644
--- a/website/posts/gnome-in-guixsd.sxml
+++ b/website/posts/gnome-in-guixsd.sxml
@@ -32,7 +32,7 @@
(a (@ (href "/software/guix/news/service-composition-in-guixsd.html"))
"the design of GuixSD’s new service composition framework")
". With this design, we knew we were able to have fine control over the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Service-Composition.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Service-Composition.html"))
"service composition graph")
". Challenge #1 overcome!"
(br))
@@ -104,7 +104,7 @@
(a (@ (href "https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00639.html"))
"one line")
" in their "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html"))
"operating system configuration")
". Overall, this has been a nice experience involving a variety of areas."
(br))
diff --git a/website/posts/gnu-guix--guixsd-0.10.0-released.sxml b/website/posts/gnu-guix--guixsd-0.10.0-released.sxml
index dda9e5f..eb3fe03 100644
--- a/website/posts/gnu-guix--guixsd-0.10.0-released.sxml
+++ b/website/posts/gnu-guix--guixsd-0.10.0-released.sxml
@@ -9,39 +9,39 @@
(p "We are pleased to announce the new beta release of GNU\xa0Guix and GuixSD, version 0.10.0!"
(br))
(p "The release comes with USB installation images to install the standalone "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"GuixSD")
", and with tarballs to install the package manager on top of a running GNU/Linux system, either "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Requirements.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html"))
"from source")
" or "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html"))
"from binaries")
"."
(br))
(p "It’s been almost 5 months since the previous release, and many things happened! The highlights include:"
(br))
(ul (li "Our “grafting” mechanism for "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Security-Updates.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Security-Updates.html"))
"security updates")
" has been fixed to be generally applicable. Read "
(a (@ (href "/software/guix/news/timely-delivery-of-security-updates.html"))
"this post")
" for more information on the challenges behind this.\n")
- (li (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Substitutes.html"))
+ (li (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
"Substitutes")
" are now fetched by default over HTTPS and from a faster mirror.\n")
(li "A number of packages have been made "
(a (@ (href "/software/guix/news/reproducible-builds-a-means-to-an-end.html"))
"bit-for-bit reproducible")
", including glibc, Perl, Emacs packages, and Python packages. This work was simplified by "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-challenge.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-challenge.html"))
"guix challenge")
" and by the new "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Additional-Build-Options.html#Additional-Build-Options"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Additional-Build-Options.html#Additional-Build-Options"))
"--check")
" and "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Common-Build-Options.html#Common-Build-Options"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Common-Build-Options.html#Common-Build-Options"))
"--rounds")
" build options, and also by the insight gathered from "
(a (@ (href "https://reproducible-builds.org/"))
@@ -51,23 +51,23 @@
(a (@ (href "/software/guix/news/gnome-in-guixsd.html"))
"now available")
", via the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Desktop-Services.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Desktop-Services.html"))
"gnome-desktop-service procedure")
".\n")
(li (a (@ (href "https://www.gnu.org/software/guix/packages/"))
"639 new packages")
", about as many package updates, greatly simplified by the addition of new "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-import.html"))
"importers")
" and "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-refresh.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-refresh.html"))
"auto-updaters")
".\n")
(li "A wealth of "
(a (@ (href "https://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix#_4_2_5"))
"bug fixes")
", documentation improvements, "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Emacs-Interface.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Emacs-Interface.html"))
"Emacs niceties")
", and more!\n"))
(p "See "
diff --git a/website/posts/gnu-guix-0.2-released.sxml b/website/posts/gnu-guix-0.2-released.sxml
index 9658819..b1f08a7 100644
--- a/website/posts/gnu-guix-0.2-released.sxml
+++ b/website/posts/gnu-guix-0.2-released.sxml
@@ -12,7 +12,7 @@
" is available. It comes with a number of new features, notably:"
(br))
(ul (li "The "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html"))
"\"guix package\"")
" command supports upgrades of user profiles and full-text package searches.\n")
(li "Binary packages are "
@@ -20,7 +20,7 @@
"continuously built")
" and may be transparently downloaded as \"substitutes\" to the result of a local build.\n")
(li "The new "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-pull.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-pull.html"))
"\"guix pull\"")
" command updates the user's copy of Guix and its distro from Git.\n")
(li "New Scheme interfaces are available to facilitate package management in various ways.\n"))
diff --git a/website/posts/gnu-guix-0.7-released.sxml b/website/posts/gnu-guix-0.7-released.sxml
index 5d3e960..f3f94e3 100644
--- a/website/posts/gnu-guix-0.7-released.sxml
+++ b/website/posts/gnu-guix-0.7-released.sxml
@@ -13,18 +13,18 @@
(p "Noteworthy features for the release are:"
(br))
(ul (li "The GNU operating system can now be "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"installed")
". Try it out!\n")
(li "To make it possible the "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system"))
"guix system")
" command has been augmented with new options, and support for 'operating-system' "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html"))
"declarations")
" has been vastly improved.\n")
(li "Programming has been simplified with the introduction of "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/G_002dExpressions.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html"))
"\"G-expressions\"")
", which capture dependencies used by build-side expressions.\n")
(li "More than 130 "
diff --git a/website/posts/gnu-guix-0.8-released.sxml b/website/posts/gnu-guix-0.8-released.sxml
index 6a9970b..641134e 100644
--- a/website/posts/gnu-guix-0.8-released.sxml
+++ b/website/posts/gnu-guix-0.8-released.sxml
@@ -10,42 +10,42 @@
(p "We are pleased to announce the next alpha release of GNU Guix, version 0.8."
(br))
(p "The release comes both with a source tarball, which allows you to install it "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Installation.html"))
"on top a running GNU/Linux system")
", and a USB installation image to install the "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"standalone operating system")
"."
(br))
(p "The highlights for this release include:"
(br))
(ul (li "A new "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-environment.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-environment.html"))
"guix environment")
" command for the bookkeeping and reproduction of development environments.\n")
(li "An "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Emacs-Interface.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Emacs-Interface.html"))
"Emacs user interface")
" as an alternative to the "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html"))
"command-line interface")
" for package management.\n")
(li "An "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Security-Updates.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Security-Updates.html"))
"experimental mechanism")
" for faster deployment of security updates.\n")
(li "operating-system declarations can now "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/operating_002dsystem-Reference.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/operating_002dsystem-Reference.html"))
"specify")
" swap devices, "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Mapped-Devices.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Mapped-Devices.html"))
"mapped devices")
", firmware, and more.\n")
(li "More developer tools, notably "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-lint.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-lint.html"))
"guix lint")
" and "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-import.html"))
"guix import")
".\n")
(li "162 packages have been added, with more than 100 package updates.\n"))
diff --git a/website/posts/gnu-guix-0.8.1-released.sxml b/website/posts/gnu-guix-0.8.1-released.sxml
index 2aa2ec6..a67e98d 100644
--- a/website/posts/gnu-guix-0.8.1-released.sxml
+++ b/website/posts/gnu-guix-0.8.1-released.sxml
@@ -9,10 +9,10 @@
(p "We are pleased to announce the next alpha release of GNU Guix, version 0.8.1."
(br))
(p "The release comes both with a source tarball, which allows you to install it "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Installation.html"))
"on top of a running GNU/Linux system")
", and a USB installation image to install the standalone "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"Guix System Distribution")
"."
(br))
@@ -23,21 +23,21 @@
"port to ARMv7")
".\n")
(li "New "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html"))
"guix system vm")
" options to share file systems with the host.\n")
(li "New configuration interfaces for "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Locales.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Locales.html"))
"locale definitions")
" and for "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Base-Services.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Base-Services.html"))
"nscd")
".\n")
(li "The addition of a CPAN importer to "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-import.html"))
"guix import")
", and more checkers for "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-lint.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-lint.html"))
"guix lint")
".\n")
(li "164 new packages and 222 package updates.\n")
diff --git a/website/posts/gnu-guix-0.8.2-released.sxml b/website/posts/gnu-guix-0.8.2-released.sxml
index d45df3c..0e3158d 100644
--- a/website/posts/gnu-guix-0.8.2-released.sxml
+++ b/website/posts/gnu-guix-0.8.2-released.sxml
@@ -9,34 +9,34 @@
(p "We are pleased to announce the next alpha release of GNU Guix, version 0.8.2."
(br))
(p "The release comes both with tarballs, which allow you to install it on top of a running GNU/Linux system, either "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Requirements.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Requirements.html"))
"from source")
" or "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html"))
"from a binaries")
", and a USB installation image to install the standalone "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"Guix System Distribution")
" (GuixSD)."
(br))
(p "The highlights for this release include:"
(br))
(ul (li "The "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html"))
"new method")
" to install Guix on a running system from binaries, which can greatly simplify installation.\n")
(li "GuixSD has new configuration interfaces for things like the "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Name-Service-Switch.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Name-Service-Switch.html"))
"name service switch")
", new "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Services.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Services.html"))
"service definitions")
", easier "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html"))
"desktop-style configuration")
", and many tweaks and fixes.\n")
(li "A new "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-publish.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-publish.html"))
"guix publish command")
" allowing everyone to publish their own binaries.\n")
(li "718 new "
diff --git a/website/posts/gnu-guix-0.8.3-released.sxml b/website/posts/gnu-guix-0.8.3-released.sxml
index fd70f68..b3d6ae2 100644
--- a/website/posts/gnu-guix-0.8.3-released.sxml
+++ b/website/posts/gnu-guix-0.8.3-released.sxml
@@ -9,13 +9,13 @@
(p "We are pleased to announce the next alpha release of GNU Guix, version 0.8.3."
(br))
(p "The release comes with USB installation images to install the standalone "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"Guix System Distribution")
" (GuixSD), and with tarballs to install the package manager on top of a running GNU/Linux system, either "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Requirements.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Requirements.html"))
"from source")
" or "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html"))
"from binaries")
"."
(br))
@@ -24,22 +24,22 @@
(ul (li "The ability to "
(em "declare")
" the packages that must be present in your profile, and to pass that to "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html#profile_002dmanifest"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html#profile_002dmanifest"))
"guix package's new --manifest option")
".\n")
- (li (a (@ (href "http://www.gnu.org/software/guix//manual/html_node/Invoking-guix-environment.html"))
+ (li (a (@ (href "http://www.gnu.org/software/guix//manual/en/html_node/Invoking-guix-environment.html"))
"guix environment")
" has a new --ad-hoc option to quickly spawn "
(em "ad hoc")
" development environments.\n")
(li "New tools: "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-edit.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-edit.html"))
"guix edit")
" to open a package recipe, "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-size.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-size.html"))
"guix size")
" to profile the disk usage of a package and its dependencies, "
- (a (@ (href "http://www.gnu.org/software/guix//manual/html_node/Invoking-guix-gc.html"))
+ (a (@ (href "http://www.gnu.org/software/guix//manual/en/html_node/Invoking-guix-gc.html"))
"guix gc --verify")
" to check the integrity of the store.\n")
(li (a (@ (href "http://www.gnu.org/software/guix/packages/"))
diff --git a/website/posts/gnu-guix-0.9.0-released.sxml b/website/posts/gnu-guix-0.9.0-released.sxml
index cb66dd1..976aef2 100644
--- a/website/posts/gnu-guix-0.9.0-released.sxml
+++ b/website/posts/gnu-guix-0.9.0-released.sxml
@@ -9,13 +9,13 @@
(p "We are pleased to announce the next alpha release of GNU Guix, version 0.9.0."
(br))
(p "The release comes with USB installation images to install the standalone "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"GuixSD")
", and with tarballs to install the package manager on top of a running GNU/Linux system, either "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Requirements.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Requirements.html"))
"from source")
" or "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html"))
"from binaries")
"."
(br))
@@ -25,37 +25,37 @@
(a (@ (href "/software/guix/news/container-provisioning-with-guix.html"))
"automatic container provisioning")
" in "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-environment.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-environment.html"))
"guix environment")
", for development environments, and in "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html"))
"guix system")
", for full GuixSD deployments.\n")
(li "A brand new "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Service-Composition.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Service-Composition.html"))
"service composition framework")
" for GuixSD. It significantly improves extensibility and modularity, while providing a framework that makes it easy to reason about how system services relate to each other. This was one of the main design issues that needed to be addressed on the road to 1.0.\n")
(li "The new "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-graph.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-graph.html"))
"guix graph")
" command can draw package dependency graphs with different levels of details. Likewise, "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html"))
"guix system")
" has a new extension-graph command to draw the system's service composition graph, and a dmd-graph command to draw the service dependency graph as seen by "
(a (@ (href "http://www.gnu.org/software/dmd/"))
"GNU dmd")
".\n")
(li "The new "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-challenge.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-challenge.html"))
"guix challenge")
" command allows users to challenge the authenticity of "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Substitutes.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
"substitutes")
" provided by a server. More on that in a future post!\n")
(li (a (@ (href "http://www.gnu.org/software/guix/packages/"))
"543 new packages")
", notably Idris and many "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-import.html"))
"imported")
" Haskell, Python, and R packages.\n")
(li (a (@ (href "http://debbugs.gnu.org/rrd/guix.html"))
diff --git a/website/posts/gnu-guix-and-guixsd-0.11.0-released.sxml b/website/posts/gnu-guix-and-guixsd-0.11.0-released.sxml
index 12f9c1b..3f9ee2a 100644
--- a/website/posts/gnu-guix-and-guixsd-0.11.0-released.sxml
+++ b/website/posts/gnu-guix-and-guixsd-0.11.0-released.sxml
@@ -10,26 +10,26 @@
(p "It is a pleasure to announce the new beta release of GNU\xa0Guix and GuixSD, version 0.11.0!"
(br))
(p "The release comes with USB installation images to install the standalone "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"GuixSD")
", and with tarballs to install the package manager on top of your GNU/Linux distro, either "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Requirements.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html"))
"from source")
" or "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html"))
"from binaries")
". "
(br))
(p "It’s been 4 months since the previous release, during which 70 people contributed code and packages. The highlights include:"
(br))
(ul (li "New GuixSD system services, including an "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Scheduled-Job-Execution.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Scheduled-Job-Execution.html"))
"mcron service")
", a "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Networking-Services.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Networking-Services.html"))
"Dropbear SSH service")
", and a "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Various-Services.html#Dictionary-Services"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Various-Services.html#Dictionary-Services"))
"Dico dictionary service")
".\n")
(li "Infrastructure for "
@@ -37,15 +37,15 @@
"whole-system tests")
".\n")
(li "Compression support for "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-publish.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-publish.html"))
"guix publish")
".\n")
(li "An Emacs mode to "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Emacs-Package-Locations.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Emacs-Package-Locations.html"))
"browse package definition locations")
".\n")
(li "GuixSD support for "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Mapped-Devices.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Mapped-Devices.html"))
"RAID devices")
".\n")
(li (a (@ (href "https://www.gnu.org/software/guix/packages/"))
@@ -55,7 +55,7 @@
"bit-reproducibility")
" issues fixed\n")
(li "Assorted improvements to all the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Utilities.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Utilities.html"))
"tool set")
", many "
(a (@ (href "https://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix#_4_2_5"))
diff --git a/website/posts/gnu-guix-and-guixsd-0.12.0-released.sxml b/website/posts/gnu-guix-and-guixsd-0.12.0-released.sxml
index d8e23b1..39a34ca 100644
--- a/website/posts/gnu-guix-and-guixsd-0.12.0-released.sxml
+++ b/website/posts/gnu-guix-and-guixsd-0.12.0-released.sxml
@@ -10,44 +10,44 @@
(p "We are pleased to announce the new release of GNU\xa0Guix and GuixSD, version 0.12.0!"
(br))
(p "The release comes with USB installation images to install the standalone "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"GuixSD")
", and with tarballs to install the package manager on top of your GNU/Linux distro, either "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Requirements.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html"))
"from source")
" or "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html"))
"from binaries")
". "
(br))
(p "It’s been a little over 4 months since the previous release, during which 76 people contributed code and packages. The highlights include:"
(br))
(ul (li "New GuixSD system services, including a "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Log-Rotation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Log-Rotation.html"))
"log rotation service")
", a "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Printing-Services.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Printing-Services.html"))
"CUPS printing service")
", "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Network-File-System.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Network-File-System.html"))
"NFS related services")
", and an "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Mail-Services.html#OpenSMTPD-Service"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Mail-Services.html#OpenSMTPD-Service"))
"OpenSMTPD service")
".\n")
- (li (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Daemon-Offload-Setup.html"))
+ (li (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Daemon-Offload-Setup.html"))
"Guix daemon offloading support")
" now uses "
(a (@ (href "https://github.com/artyom-poptsov/guile-ssh"))
"Guile-SSH")
".\n")
(li "GuixSD can now be installed to a "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Mapped-Devices.html#index-LUKS"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Mapped-Devices.html#index-LUKS"))
"LUKS-encrypted root")
".\n")
(li "New cross-compiler toolchains for i686-w64-mingw32 and arm-none-eabi.\n")
(li "A new d3.js backend for "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-graph.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-graph.html"))
"guix graph")
".\n")
(li (a (@ (href "https://www.gnu.org/software/guix/packages/"))
@@ -55,7 +55,7 @@
", 864 package updates notably glibc\xa02.24 and linux-libre\xa04.8.15"
".\n")
(li "Assorted improvements to all the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Utilities.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Utilities.html"))
"tool set")
", many "
(a (@ (href "https://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix#_4_2_5"))
diff --git a/website/posts/gnu-guix-and-guixsd-0.13.0-released.md b/website/posts/gnu-guix-and-guixsd-0.13.0-released.md
index e521999..32ce283 100644
--- a/website/posts/gnu-guix-and-guixsd-0.13.0-released.md
+++ b/website/posts/gnu-guix-and-guixsd-0.13.0-released.md
@@ -8,14 +8,14 @@ We are pleased to announce the new release of GNU Guix and GuixSD,
version 0.13.0!
The release comes with
-[GuixSD USB installation images](https://www.gnu.org/software/guix/manual/html_node/System-Installation.html),
+[GuixSD USB installation images](https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html),
a
-[virtual machine image of GuixSD](https://www.gnu.org/software/guix/manual/html_node/Running-GuixSD-in-a-VM.html),
+[virtual machine image of GuixSD](https://www.gnu.org/software/guix/manual/en/html_node/Running-GuixSD-in-a-VM.html),
and with tarballs to install the package manager on top of your
GNU/Linux distro, either
-[from source](https://www.gnu.org/software/guix/manual/html_node/Requirements.html)
+[from source](https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html)
or
-[from binaries](https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html).
+[from binaries](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html).
It’s been 5 months since the previous release, during which 83 people
contribute code and packages. The highlights include:
@@ -23,7 +23,7 @@ contribute code and packages. The highlights include:
- Guix now supports aarch64 (64-bit ARM processors). This release
does not include a binary installation tarball though, and our build
farm does not provide aarch64
- [substitutes](https://www.gnu.org/software/guix/manual/html_node/Substitutes.html)
+ [substitutes](https://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html)
yet. We are looking for aarch64 hardware to address this. Please
[get in touch with us](https://www.gnu.org/software/guix/donate/) if
you can help!
@@ -38,7 +38,7 @@ contribute code and packages. The highlights include:
vulnerabilities in those daemons. See
[this article from April](https://www.gnu.org/software/guix/news/running-system-services-in-containers.html).
- A new
- [`guix pack`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-pack.html)
+ [`guix pack`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-pack.html)
command to create standalone binary bundles is available. We
[presented it in March](https://www.gnu.org/software/guix/news/creating-bundles-with-guix-pack.html).
- Guix now runs on the
@@ -48,7 +48,7 @@ contribute code and packages. The highlights include:
Among other things though, the
[noticeable performance improvement](https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00427.html)
that comes for free is welcome!
- - [`guix publish`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-publish.html),
+ - [`guix publish`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-publish.html),
which is what we use to distribute binaries, has a new `--cache`
operation mode that improves performance when distributing binaries
to a large number of users, as is the case of our build farm.
@@ -58,13 +58,13 @@ contribute code and packages. The highlights include:
[a total of 5,400+](https://www.gnu.org/software/guix/packages/),
and many updates, including glibc 2.25, Linux-libre 4.11, and GCC 7.
- New
- [system services](https://www.gnu.org/software/guix/manual/html_node/Services.html)
+ [system services](https://www.gnu.org/software/guix/manual/en/html_node/Services.html)
for
- [Redis](https://www.gnu.org/software/guix/manual/html_node/Database-Services.html#index-redis_002dservice_002dtype),
- [Exim](https://www.gnu.org/software/guix/manual/html_node/Mail-Services.html#index-exim_002dservice_002dtype),
- [Open vSwitch](https://www.gnu.org/software/guix/manual/html_node/Networking-Services.html#index-openvswitch_002dservice_002dtype), and more. The interface of existing
+ [Redis](https://www.gnu.org/software/guix/manual/en/html_node/Database-Services.html#index-redis_002dservice_002dtype),
+ [Exim](https://www.gnu.org/software/guix/manual/en/html_node/Mail-Services.html#index-exim_002dservice_002dtype),
+ [Open vSwitch](https://www.gnu.org/software/guix/manual/en/html_node/Networking-Services.html#index-openvswitch_002dservice_002dtype), and more. The interface of existing
services, notably that of the
- [NGINX service](https://www.gnu.org/software/guix/manual/html_node/Web-Services.html),
+ [NGINX service](https://www.gnu.org/software/guix/manual/en/html_node/Web-Services.html),
has been greatly improved.
- Many [bug fixes](https://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix#_4_2_5)!
diff --git a/website/posts/gnu-guix-and-guixsd-0.14.0-released.md b/website/posts/gnu-guix-and-guixsd-0.14.0-released.md
index 52476e1..0471f2b 100644
--- a/website/posts/gnu-guix-and-guixsd-0.14.0-released.md
+++ b/website/posts/gnu-guix-and-guixsd-0.14.0-released.md
@@ -8,32 +8,32 @@ We are pleased to announce the new release of GNU Guix and GuixSD,
version 0.14.0!
The release comes with [GuixSD ISO-9660 installation
-images](https://www.gnu.org/software/guix/manual/html_node/System-Installation.html),
+images](https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html),
a [virtual machine image of
-GuixSD](https://www.gnu.org/software/guix/manual/html_node/Running-GuixSD-in-a-VM.html),
+GuixSD](https://www.gnu.org/software/guix/manual/en/html_node/Running-GuixSD-in-a-VM.html),
and with tarballs to install the package manager on top of your
GNU/Linux distro, either [from
-source](https://www.gnu.org/software/guix/manual/html_node/Requirements.html)
+source](https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html)
or [from
-binaries](https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html).
+binaries](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html).
It’s been 6 months since the previous release, during which 88 people
contributed code and packages. The highlights include:
- The GuixSD installation image is now [available as an ISO-9660
- image](https://www.gnu.org/software/guix/manual/html_node/USB-Stick-and-DVD-Installation.html),
+ image](https://www.gnu.org/software/guix/manual/en/html_node/USB-Stick-and-DVD-Installation.html),
which can either be written to a USB stick or burnt on a DVD.
Previously we would only provide a USB stick image. This was long
overdue! Such images can now be generated with [`guix system disk-image
- --file-system-type=iso9660`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html).
+ --file-system-type=iso9660`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html).
- Several user interface improvements, notably: [`guix
- package`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-package.html)
+ package`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html)
reports how much is going to be downloaded, warns if the user has
insufficient disk space, [reports about package
collisions](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27271)
early on; `guix package --search` sorts results by relevance, and
there’s a new [`guix system
- search`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html)
+ search`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html)
command to search for GuixSD system services; `guix system` reports
[incorrect file system labels and
UUIDs](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28706) and
@@ -41,7 +41,7 @@ contributed code and packages. The highlights include:
[hints](https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00139.html)
for unbound variables.
- GuixSD has a new [bootloader
- API](https://www.gnu.org/software/guix/manual/html_node/Bootloader-Configuration.html#Bootloader-Configuration),
+ API](https://www.gnu.org/software/guix/manual/en/html_node/Bootloader-Configuration.html#Bootloader-Configuration),
which has allowed GuixSD to gain support not just for GRUB (UEFI and
BIOS) but also U-Boot and Extlinux. This paves the way to a GuixSD
port to ARM-based devices, which fearless hackers are soon going to
@@ -49,11 +49,11 @@ contributed code and packages. The highlights include:
reality](https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29409)!
- To make it easier for newcomers to get started defining packages,
there’s a new [`guix import
- json`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html)
+ json`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-import.html)
command that takes JSON-formatted package metadata as input and
produces the usual [package
- definition](https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html).
- - [`guix-daemon`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix_002ddaemon.html)
+ definition](https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html).
+ - [`guix-daemon`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix_002ddaemon.html)
has a new `--listen` option, which is particularly useful when
[installing Guix on a
cluster](https://guix-hpc.bordeaux.inria.fr/blog/2017/11/installing-guix-on-a-cluster/).
@@ -63,13 +63,13 @@ contributed code and packages. The highlights include:
thanks to our intrepid web designer
[sirgazil](https://sirgazil.bitbucket.io/).
- There’s a dozen new [GuixSD
- services](https://www.gnu.org/software/guix/manual/html_node/Services.html)
+ services](https://www.gnu.org/software/guix/manual/en/html_node/Services.html)
as well: [git-http and
- cgit](https://www.gnu.org/software/guix/manual/html_node/Version-Control-Services.html),
- [libvirt](https://www.gnu.org/software/guix/manual/html_node/Virtualization-Services.html),
- [Memcached](https://www.gnu.org/software/guix/manual/html_node/Database-Services.html),
+ cgit](https://www.gnu.org/software/guix/manual/en/html_node/Version-Control-Services.html),
+ [libvirt](https://www.gnu.org/software/guix/manual/en/html_node/Virtualization-Services.html),
+ [Memcached](https://www.gnu.org/software/guix/manual/en/html_node/Database-Services.html),
and
- [Murmur](https://www.gnu.org/software/guix/manual/html_node/Telephony-Services.html)
+ [Murmur](https://www.gnu.org/software/guix/manual/en/html_node/Telephony-Services.html)
to name a few.
- Many [bug fixes](https://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix#_4_2_5)!
diff --git a/website/posts/gnu-guix-and-guixsd-0.15.0-released.md b/website/posts/gnu-guix-and-guixsd-0.15.0-released.md
index 4e7a142..63514e5 100644
--- a/website/posts/gnu-guix-and-guixsd-0.15.0-released.md
+++ b/website/posts/gnu-guix-and-guixsd-0.15.0-released.md
@@ -9,14 +9,14 @@ version 0.15.0! This release brings us close to what we wanted to have
for 1.0, so it’s probably one of the last zero-dot-something releases.
The release comes with [GuixSD ISO-9660 installation
-images](https://www.gnu.org/software/guix/manual/html_node/System-Installation.html),
+images](https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html),
a [virtual machine image of
-GuixSD](https://www.gnu.org/software/guix/manual/html_node/Running-GuixSD-in-a-VM.html),
+GuixSD](https://www.gnu.org/software/guix/manual/en/html_node/Running-GuixSD-in-a-VM.html),
and with tarballs to install the package manager on top of your
GNU/Linux distro, either [from
-source](https://www.gnu.org/software/guix/manual/html_node/Requirements.html)
+source](https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html)
or [from
-binaries](https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html).
+binaries](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html).
It’s been 7 months (much too long!) since the previous release, during
which 100 people contributed code and packages. The highlights include:
diff --git a/website/posts/gnu-guix-welcomes-four-students-for-gsoc.sxml b/website/posts/gnu-guix-welcomes-four-students-for-gsoc.sxml
index 0f8fe37..1b40d96 100644
--- a/website/posts/gnu-guix-welcomes-four-students-for-gsoc.sxml
+++ b/website/posts/gnu-guix-welcomes-four-students-for-gsoc.sxml
@@ -13,20 +13,20 @@
(a (@ (href "https://libreplanet.org/wiki/Group:Guix/GSoC-2016#Write_a_Bourne-shell_compiler_front-end_for_Guile"))
"Bourne-shell compiler front-end for Guile")
". While this may sound a bit crazy (and rather fun :-)), the motivation behind this is to help reduce "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Bootstrapping.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Bootstrapping.html"))
"the set of binaries GNU\xa0Guix relies on for bootstrapping")
".\n")
(li "Jelle will work on an npm "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-import.html"))
"importer")
" and "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Build-Systems.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Build-Systems.html"))
"build system")
" for "
(a (@ (href "https://libreplanet.org/wiki/Group:Guix/GSoC-2016#NPM_package_importer_and_builder"))
"npm")
". This will allow users to deploy JavaScript programming environments "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-environment.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-environment.html"))
"in a controlled fashion")
", integrated with the rest of the system.\n")
(li "Manolis, who contributed a GNU/Hurd port of Guix "
diff --git a/website/posts/growing-our-build-farm.html b/website/posts/growing-our-build-farm.html
index 2034d6c..f13ba90 100644
--- a/website/posts/growing-our-build-farm.html
+++ b/website/posts/growing-our-build-farm.html
@@ -15,7 +15,7 @@ tags: Build farm, LibreBoot
<a href="https://www.gnu.org/software/guix/donate/#hardware-donors">our
build farm</a>, which continuously compiles the GNU system, and it
will feed the mirror
- with <a href="https://www.gnu.org/software/guix/manual/html_node/Substitutes.html">binary
+ with <a href="https://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html">binary
packages</a>, so that end users who do not wish to compile packages by
themselves can easily keep up-to-date. Time to report on the
adventure! This first part covers the hardware.
diff --git a/website/posts/gsoc-report-2018.md b/website/posts/gsoc-report-2018.md
index 4bfd1ad..82526b1 100644
--- a/website/posts/gsoc-report-2018.md
+++ b/website/posts/gsoc-report-2018.md
@@ -72,7 +72,7 @@ of the interface are listed below.
to be displayed from the database.
- The frontend consists of HTML templates represented with [Guile
- SXML](https://www.gnu.org/software/guile/manual/html_node/SXML.html)
+ SXML](https://www.gnu.org/software/guile/manual/en/html_node/SXML.html)
and the [Bootstrap 4](https://getbootstrap.com/) CSS library.
- The appearance is minimalistic. Every page includes only specific
diff --git a/website/posts/gsoc-update.sxml b/website/posts/gsoc-update.sxml
index bb6078f..60939b6 100644
--- a/website/posts/gsoc-update.sxml
+++ b/website/posts/gsoc-update.sxml
@@ -27,7 +27,7 @@
(a (@ (href "http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00033.html"))
"tools to publish and retrieve")
" Guix "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Substitutes.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
"substitutes")
" (pre-built binaries.)\n")
(li "Rohan laid the foundations of the "
diff --git a/website/posts/guix-android.md b/website/posts/guix-android.md
index cf02fcb..65f73ec 100644
--- a/website/posts/guix-android.md
+++ b/website/posts/guix-android.md
@@ -8,7 +8,7 @@ Last year I thought to myself: since my phone is just a computer running
an operating system called Android (or [Replicant](https://replicant.us/)!),
and that Android is based on a Linux
kernel, it's just [another foreign distribution I could install GNU Guix
-on](https://www.gnu.org/software/guix/manual/html_node/Installation.html),
+on](https://www.gnu.org/software/guix/manual/en/html_node/Installation.html),
right? It turned out it was absolutely the case. Today I was
reminded on IRC of my attempt last year at installing GNU Guix on my
phone. Hence this blog post. I'll try to give you all the knowledge and
@@ -62,7 +62,7 @@ make it work on our device.
#### Installing the necessary files
We will follow the [binary installation
-guide](https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html).
+guide](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html).
My hardware is aarch64, so I download the corresponding binary release.
Now it's time to start using adb. Connect your device and obtain root
@@ -137,7 +137,7 @@ rmdir gnu
rmdir var
```
-Finally, we need to [create users and groups](https://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.html) for Guix to work
+Finally, we need to [create users and groups](https://www.gnu.org/software/guix/manual/en/html_node/Build-Environment-Setup.html) for Guix to work
properly. Since Bionic doesn't use `/etc/passwd` or `/etc/group`
to store the users, we need to create them from scratch. Note
the addition of the root user and group, as well as the `nobody`
diff --git a/website/posts/guix-pack-relocatable.md b/website/posts/guix-pack-relocatable.md
index a0b1c0d..84de84c 100644
--- a/website/posts/guix-pack-relocatable.md
+++ b/website/posts/guix-pack-relocatable.md
@@ -23,7 +23,7 @@ share software stacks with machines that do not run Guix.
The tarball format is plain and simple, it’s the one we know and love,
and it’s been there “forever” [as its name
-suggests](https://www.gnu.org/software/tar/manual/html_node/Introduction.html).
+suggests](https://www.gnu.org/software/tar/manual/en/html_node/Introduction.html).
The tarball that `guix pack` produces can be readily extracted on
another machine, one that doesn’t run Guix, and you’re done. The
problem though, is that you’ll need to either unpack the tarball in the
diff --git a/website/posts/guix-starts-fundraising-campaign-with-support-from-the-fsf.sxml b/website/posts/guix-starts-fundraising-campaign-with-support-from-the-fsf.sxml
index 58e44c4..bc00a01 100644
--- a/website/posts/guix-starts-fundraising-campaign-with-support-from-the-fsf.sxml
+++ b/website/posts/guix-starts-fundraising-campaign-with-support-from-the-fsf.sxml
@@ -20,7 +20,7 @@
(a (@ (href "https://www.gnu.org/software/guix/packages/"))
"packages")
" and users, we felt that the time has come to call to the community to strengthen the project’s infrastructure. Our first action will be to change the build farm’s front-end, which orchestrates builds and "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Substitutes.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
"distributes binaries")
". Next we want to add more build machines, with two goals in mind: being able to quickly test changes that trigger lots of rebuilds, and being able to identify "
(a (@ (href "/software/guix/news/reproducible-builds-a-means-to-an-end.html"))
diff --git a/website/posts/guix-tox-talk-at-pyconfr-october-17th.sxml b/website/posts/guix-tox-talk-at-pyconfr-october-17th.sxml
index 205ca86..d7b2cb5 100644
--- a/website/posts/guix-tox-talk-at-pyconfr-october-17th.sxml
+++ b/website/posts/guix-tox-talk-at-pyconfr-october-17th.sxml
@@ -18,7 +18,7 @@
" is a young variant of the "
(a (@ (href "http://tox.testrun.org/")) "Tox")
" \"virtualenv\" management tool for Python that uses "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-environment.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-environment.html"))
"guix environment")
" as its back-end. In essence, while Tox restricts itself to building pure Python environments, Guix-Tox takes advantages of Guix to build complete environments, including dependencies that are outside Tox's control, thereby improving environment reproducibility. Cyril will demonstrate practical use cases with OpenStack."
(br))
diff --git a/website/posts/guixsd-port-arm.md b/website/posts/guixsd-port-arm.md
index ffb7e5e..c597b20 100644
--- a/website/posts/guixsd-port-arm.md
+++ b/website/posts/guixsd-port-arm.md
@@ -69,7 +69,7 @@ force the boot from microSD instead of eMMC.
![GuixSD installer on BeagleBone Black](https://www.gnu.org/software/guix/static/blog/img/guixsd-bbb1.jpg)
Let's follow the [Guix documentation
-here](https://www.gnu.org/software/guix/manual/html_node/Preparing-for-Installation.html#Preparing-for-Installation)
+here](https://www.gnu.org/software/guix/manual/en/html_node/Preparing-for-Installation.html#Preparing-for-Installation)
to install GuixSD on eMMC.
First of all, let's plug in an ethernet cable and set up SSH access in order to
diff --git a/website/posts/guixsd-system-tests.sxml b/website/posts/guixsd-system-tests.sxml
index a5134ea..0eba97f 100644
--- a/website/posts/guixsd-system-tests.sxml
+++ b/website/posts/guixsd-system-tests.sxml
@@ -21,18 +21,18 @@
" currently contains almost 600 "
(em "unit tests")
". Each one of these stresses one particular function or subset of the functionality of Guix. This covers core package management functionality such as package builds, utility modules such as monads or the public key infrastructure (PKI) used for authenticating binaries, maintenance tools such as "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-lint.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-lint.html"))
"lint")
" and the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-import.html"))
"importers")
", as well as the command-line interface."
(br))
(p "Since Guix provides Scheme modules for use "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/G_002dExpressions.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html"))
"both in the package management front-end and on the “build side”")
", the latter is also tested. This includes part of the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Build-Systems.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Build-Systems.html"))
"build systems")
", and helpers like our "
(a (@ (href "http://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/gremlin.scm#n264"))
@@ -44,12 +44,12 @@
(a (@ (href "https://hydra.gnu.org/jobset/gnu/master"))
"continuous integration")
" on the 4 supported architectures (32-bit and 64-bit Intel compatible, as well as MIPS64 and ARMv7.) Our build farm serves the resulting binaries, which users can choose to download as "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Substitutes.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
"substitutes for local builds")
". Our build server, which currently runs an instance of "
(a (@ (href "https://nixos.org/hydra/")) "Hydra")
", always shows the number of succeeding/failing builds on its dashboard. That way, breakage introduced by changes in the package collection is always rapidly detected. This is a direct benefit of the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Introduction.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Introduction.html"))
"functional packaging model")
"."
(br))
@@ -57,14 +57,14 @@
(br))
(h4 "System tests")
(p "So far, so good. Now, what about GuixSD itself? GuixSD did not have an automated test suite until now. What it did have, though, is the ability to instantiate an operating system in a virtual machine (VM) or in a container. You would write your "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html"))
"operating system declaration")
" in a file, then run, say:"
(br))
(div (@ (class "example"))
(pre "guix system vm my-config.scm "))
(p "This "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html#Invoking-guix-system"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html#Invoking-guix-system"))
"gives you a script to launch a VM")
" running an instance of the OS declared in ‘my-config.scm’. Already pretty convenient! And indeed, even more so back in the days when we were eating a fair amount of dog food. In fact, that’s how we ate our "
(a (@ (href "/software/guix/news/boot-to-guile.html"))
@@ -86,26 +86,26 @@
(a (@ (href "http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/tests.scm#n129"))
"service")
", which hooks a Guile "
- (a (@ (href "https://www.gnu.org/software/guile/manual/html_node/The-REPL.html"))
+ (a (@ (href "https://www.gnu.org/software/guile/manual/en/html_node/The-REPL.html"))
"read-eval-print loop")
" (REPL) inside the guest. This allows the host to evaluate arbitrary code in the guest VM."
(br))
(p "Now we can write build processes ("
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Derivations.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Derivations.html"))
"aka. “derivations”")
") that will:"
(br))
(ol (li "instantiate an instrumented variant of the operating system configuration we want to test in a VM image;\n")
(li "spawn the VM, run a series of tests on the guest OS, and return the test results.\n"))
(p "Thus, a system test to make sure the "
- (a (@ (href "https://www.gnu.org/software/guile/manual/html_node/System-Identification.html#index-scm_005funame"))
+ (a (@ (href "https://www.gnu.org/software/guile/manual/en/html_node/System-Identification.html#index-scm_005funame"))
"‘uname’")
" system call returns something that matches the OS declaration looks like this:"
(br))
(pre (code (@ (class "language-scheme"))
"(define (run-test)\n (define os\n ;; The declaration of the OS we want to instantiate and test.\n ;; Calling 'marionette-operating-system' instruments it.\n (marionette-operating-system\n (operating-system\n (host-name \"komputilo\")\n (timezone \"Europe/Berlin\")\n (locale \"en_US.UTF-8\")\n\n (bootloader (grub-configuration (device \"/dev/sdX\")))\n (file-systems %base-file-systems))))\n\n ;; Compute the script to run OS in a VM.\n (mlet %store-monad ((run (system-qemu-image/shared-store-script\n os #:graphic? #f)))\n (define test\n ;; The actual test. Here “#~” is like “quote”, allowing us\n ;; to describe code to run in the build environment; it’s a\n ;; “g-expression.”\n #~(begin\n (use-modules (gnu build marionette)\n (srfi srfi-64)\n (ice-9 match))\n\n (define marionette\n\t ;; Spawn the VM that runs the declared OS.\n (make-marionette (list #$run)))\n\n (mkdir #$output)\n (chdir #$output)\n\n (test-begin \"basic\")\n\n (test-assert \"uname\"\n\t ;; Call the ‘uname’ Scheme function in the guest.\n\t ;; In the host, make sure its result (a vector) matches\n\t ;; our OS declaration above.\n (match (marionette-eval '(uname) marionette)\n (#(\"Linux\" host-name version _ architecture)\n (and (string=? host-name\n #$(operating-system-host-name os))\n (string-prefix? #$(package-version\n (operating-system-kernel os))\n version)\n (string-prefix? architecture %host-type)))))\n\n (test-end)\n (exit (= (test-runner-fail-count (test-runner-current)) 0))))\n\n ;; Turn the test into a buildable “derivation”.\n (gexp->derivation \"simple-test\" test\n #:modules '((gnu build marionette)))))\n"))
(p "There are interesting things going on here. First, while this is all Scheme code, there are in fact three tiers or strata of code at play here: the code that produces the OS declaration and the derivation, the build code of that derivation—the test—embodied in a "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/G_002dExpressions.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html"))
"g-expression")
", and code sent from the host to the guest VM via ‘marionette-eval’."
(br))
@@ -113,7 +113,7 @@
(a (@ (href "http://srfi.schemers.org/srfi-64/srfi-64.html"))
"SRFI-64 test framework")
" here, pass values from one tier to another, and so on. And of course, being a full-blown language rather than shell scripts or similar means we have a rich and semantically-clear interface at our fingertips: we can directly access the data structures that matter rather than grepping the output of high-level commands. As an example, we can directly query the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Shepherd-Services.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Shepherd-Services.html"))
"system service manager")
" right "
(a (@ (href "http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/herd.scm"))
@@ -130,7 +130,7 @@
" job scheduling daemon—inspired by your parents’ cron, but with a powerful Scheme interface—and "
(a (@ (href "http://avahi.org/")) "Avahi")
" and its "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Name-Service-Switch.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Name-Service-Switch.html"))
"name service switch")
" (NSS) integration."
(br))
@@ -138,7 +138,7 @@
(a (@ (href "http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/tests/install.scm"))
"tests")
" of the full "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/System-Installation.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/System-Installation.html"))
"GuixSD installation procedure")
", which turned out to be "
(a (@ (href "https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00815.html"))
diff --git a/website/posts/join-gnu-guix-outreachy-gsoc-2018.md b/website/posts/join-gnu-guix-outreachy-gsoc-2018.md
index 9c6c290..769fd86 100644
--- a/website/posts/join-gnu-guix-outreachy-gsoc-2018.md
+++ b/website/posts/join-gnu-guix-outreachy-gsoc-2018.md
@@ -34,7 +34,7 @@ student](https://developers.google.com/open-source/gsoc/faq#students),
make sure to apply [by March 27th](https://developers.google.com/open-source/gsoc/timeline).
If you’d like to
-[contribute](https://www.gnu.org/software/guix/manual/html_node/Contributing.html)
+[contribute](https://www.gnu.org/software/guix/manual/en/html_node/Contributing.html)
to computing freedom, Scheme, functional programming, or operating
system development, now is a good time to join us. Let’s get in touch
on [the mailing lists and on the `#guix` channel on the Freenode IRC
diff --git a/website/posts/packaging-tutorial.md b/website/posts/packaging-tutorial.md
index 13ea60c..8866182 100644
--- a/website/posts/packaging-tutorial.md
+++ b/website/posts/packaging-tutorial.md
@@ -221,7 +221,7 @@ Alternatively you can also run `guix environment --ad-hoc guile -- guile` if
you'd rather not have Guile installed in your user profile.
In the following examples we use the `>` symbol to denote the REPL prompt, that
-is, the line reserved for user input. See [the Guile manual](https://www.gnu.org/software/guile/manual/html_node/Using-Guile-Interactively.html) for more details on
+is, the line reserved for user input. See [the Guile manual](https://www.gnu.org/software/guile/manual/en/html_node/Using-Guile-Interactively.html) for more details on
the REPL.
- Scheme syntax boils down to a tree of expressions (or *s-expression* in Lisp
@@ -331,7 +331,7 @@ the REPL.
```
- The keyword syntax is `#:`, it is used to create unique identifiers. See also
- the [Keywords section in the Guile manual](https://www.gnu.org/software/guile/manual/html_node/Keywords.html).
+ the [Keywords section in the Guile manual](https://www.gnu.org/software/guile/manual/en/html_node/Keywords.html).
- The percentage `%` is typically used for read-only global variables in the
build stage. Note that it is merely a convention, like `_` in C. Scheme Lisp
@@ -929,7 +929,7 @@ of the traditional Unix system commands:
The license in our last example needs a prefix: this is because of how the
`license` module was imported in the package, as `#:use-module ((guix licenses)
-#:prefix license:)`. The [Guile module import mechanism](https://www.gnu.org/software/guile/manual/html_node/Using-Guile-Modules.html) gives the user full
+#:prefix license:)`. The [Guile module import mechanism](https://www.gnu.org/software/guile/manual/en/html_node/Using-Guile-Modules.html) gives the user full
control over namespacing: this is needed to avoid clashes between, say, the
`zlib` variable from `licenses.scm` (a *license* value) and the `zlib` variable
from `compression.scm` (a *package* value).
diff --git a/website/posts/purely-functional-software-deployment-model.md b/website/posts/purely-functional-software-deployment-model.md
index 3c9ca86..b3d2028 100644
--- a/website/posts/purely-functional-software-deployment-model.md
+++ b/website/posts/purely-functional-software-deployment-model.md
@@ -9,5 +9,5 @@ Eelco Dolstra's seminal PhD thesis about the Nix package manager,
which [Guix is based on][1]. [Download][2] (PDF).
-[1]: https://www.gnu.org/software/guix/manual/html_node/Acknowledgments.html
+[1]: https://www.gnu.org/software/guix/manual/en/html_node/Acknowledgments.html
[2]: http://nixos.org/~eelco/pubs/phd-thesis.pdf
diff --git a/website/posts/reproducible-build-summit.html b/website/posts/reproducible-build-summit.html
index c1e906c..c198626 100644
--- a/website/posts/reproducible-build-summit.html
+++ b/website/posts/reproducible-build-summit.html
@@ -50,7 +50,7 @@ tags: Reproducible builds
resources
at <a href="https://tests.reproducible-builds.org/">tests.reproducible-builds.org</a>
to achieve that soon. Since last year's summit,
- our <a href="https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html">patch
+ our <a href="https://www.gnu.org/software/guix/manual/en/html_node/Submitting-Patches.html">patch
submission guidelines</a> require submitters to check for
reproducibility issues using <tt>guix build --rounds=<i>N</i></tt>.
This has already allowed us to fix lots of reproducibility issues in
@@ -71,7 +71,7 @@ tags: Reproducible builds
<p>
dkg of Debian and ACLU led a couple of sessions on this topic.
Tools
- like <a href="https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-challenge.html"><tt>guix
+ like <a href="https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-challenge.html"><tt>guix
challenge</tt></a> are one way to help users check whether their
binaries are trustworthy, provided independent package builds are
available. Some suggested that this could be used as an input for a
@@ -91,7 +91,7 @@ tags: Reproducible builds
<p>
Guix currently allows users to specify multiple binary providers
through
- the <a href="https://www.gnu.org/software/guix/manual/html_node/Substitutes.html"><tt>--substitute-urls</tt></a> option.
+ the <a href="https://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"><tt>--substitute-urls</tt></a> option.
We hope we can extend it to support this “<i>k</i> out of <i>n</i>”
policy by the next Reproducible Build Summit!
</p>
@@ -105,7 +105,7 @@ tags: Reproducible builds
language it compiles, and thus distributors have no choice but to
start from an opaque pre-built binary provided by upstream. The
problem also comes up
- when <a href="https://www.gnu.org/software/guix/manual/html_node/Bootstrapping.html">building
+ when <a href="https://www.gnu.org/software/guix/manual/en/html_node/Bootstrapping.html">building
a complete system “from nothing”</a>. This situation prevents users
from knowing what code they’re running, and it makes them vulnerable
to <a href="https://www.win.tue.nl/~aeb/linux/hh/thompson/trust.html"><i>trusting
diff --git a/website/posts/reproducible-builds-a-means-to-an-end.sxml b/website/posts/reproducible-builds-a-means-to-an-end.sxml
index 9ad938b..64a67a6 100644
--- a/website/posts/reproducible-builds-a-means-to-an-end.sxml
+++ b/website/posts/reproducible-builds-a-means-to-an-end.sxml
@@ -18,7 +18,7 @@
" practical, à la Emacs."
(br))
(p "Guix provides pre-compiled binaries of software packages as a service to its users—these are "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Substitutes.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
"substitutes")
" for local builds. This is a convenient way to save time, but it could become a threat to users if they cannot establish that those substitutes are authentic—that their "
(a (@ (href "http://www.gnu.org/licenses/gpl.html#section1"))
@@ -31,7 +31,7 @@
" that the substitutes (pre-compiled binaries) they download correspond to the source code that supposedly produced them."
(br))
(p "Guix builds packages in a "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Features.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Features.html"))
"fully isolated environment")
" to maximize reproducibility—a crucial feature inherited from "
(a (@ (href "http://nixos.org/nix/")) "Nix")
@@ -66,7 +66,7 @@
(p "Second, we must make it easy for users to use the binary provider of their choice, and possibly to use several of them, something that Guix allows."
(br))
(p "Third, it must be equally simple for any user to publish their locally-built binaries as a way to improve diversity and avoid any single point of failure or trust. The "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-publish.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-publish.html"))
"guix publish")
" command is a simple way to serve signed binaries over HTTP. A fully peer-to-peer approach based on GNUnet was tackled as part of "
(a (@ (href "/software/guix/news/gsoc-update.html"))
@@ -79,7 +79,7 @@
(a (@ (href "/software/guix/news/gnu-guix-090-released.html"))
"just-released")
" 0.9.0 version of GNU Guix provides a new command called "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-challenge.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-challenge.html"))
"guix challenge")
". The command allows users to automatically compare the build results of their local builds against those served by one or more binary providers. It allows both to find out about non-reproducible builds—and indeed, has already "
(a (@ (href "https://lists.gnu.org/archive/html/guix-devel/2015-10/msg00728.html"))
diff --git a/website/posts/reproducible-builds-status-update.md b/website/posts/reproducible-builds-status-update.md
index 6650a84..676c96f 100644
--- a/website/posts/reproducible-builds-status-update.md
+++ b/website/posts/reproducible-builds-status-update.md
@@ -10,14 +10,14 @@ today, now’s a good time for an update on what has happened in Guix land
in that area!
[Isolated build
-environments](https://www.gnu.org/software/guix/manual/html_node/Features.html)
+environments](https://www.gnu.org/software/guix/manual/en/html_node/Features.html)
are very helpful to achieve [reproducible
builds](https://reproducible-builds.org/docs/definition/), but they are
not sufficient: timestamps and non-determinism can still make a package
build non-reproducible. Developers can rely on [`guix build
---check`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-build.html)
+--check`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-build.html)
and [`guix
-challenge`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-challenge.html)
+challenge`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-challenge.html)
to identify non-reproducible builds.
This article provides an overview of the progress made to fix
@@ -101,13 +101,13 @@ which makes it easy to retrieve the faulty binaries and investigate.
#### Reproducible builds = faster downloads!
There’s a very practical advantage to reproducible builds: anyone who
-[publishes](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-publish.html)
+[publishes](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-publish.html)
binaries is in essence a *mirror* of our build farm.
Until now, Guix’s public key infrastructure (PKI) was used pretty
rigidly: you could download binaries from a server *if and only if* you
had previously [authorized its public
-key](https://www.gnu.org/software/guix/manual/html_node/Substitutes.html).
+key](https://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html).
So to download binaries from the person next to you, you would first
need to retrieve their public key and authorize it. In addition to
being inconvenient, it has the drawback of being an all-or-nothing
diff --git a/website/posts/running-services-in-containers.md b/website/posts/running-services-in-containers.md
index 4da3e7c..c964497 100644
--- a/website/posts/running-services-in-containers.md
+++ b/website/posts/running-services-in-containers.md
@@ -110,7 +110,7 @@ The Shepherd itself remains unaware of namespaces, it simply ends up
calling
[`make-forkexec-constructor/container`](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/shepherd.scm#n108)
instead of
-[`make-forkexec-constructor`](https://www.gnu.org/software/shepherd/manual/html_node/Service-De_002d-and-Constructors.html#index-make_002dforkexec_002dconstructor)
+[`make-forkexec-constructor`](https://www.gnu.org/software/shepherd/manual/en/html_node/Service-De_002d-and-Constructors.html#index-make_002dforkexec_002dconstructor)
and that’s it. The changes to the service definitions of
[BitlBee](https://git.savannah.gnu.org/cgit/guix.git/commit/?id=a062b6ca99ad61c9df473fe49a93d69f9698c59d)
and
@@ -144,7 +144,7 @@ are minimal. The end result, for Tor, looks like this:
```
The
-[`with-imported-modules`](https://www.gnu.org/software/guix/manual/html_node/G_002dExpressions.html#index-with_002dimported_002dmodules)
+[`with-imported-modules`](https://www.gnu.org/software/guix/manual/en/html_node/G_002dExpressions.html#index-with_002dimported_002dmodules)
form above instructs Guix to _import_ our `(gnu build shepherd)`
library, which provides `make-forkexec-constructor/container`, into
PID 1. The `start` method of the service specifies the command to start
@@ -158,7 +158,7 @@ mappings, `make-forkexec-constructor/container` automatically adds
So what do these containerized services look like when they’re running?
When we run
-[`herd status bitblee`](https://www.gnu.org/software/shepherd/manual/html_node/Invoking-herd.html),
+[`herd status bitblee`](https://www.gnu.org/software/shepherd/manual/en/html_node/Invoking-herd.html),
disappointingly, we don’t see anything special:
```
@@ -207,7 +207,7 @@ root@guixsd /# echo /var/run/*
There’s no `/home` and generally very little in BitlBee’s mount
namespace. Notably, the namespace lacks `/run/setuid-programs`, which
is where
-[setuid programs](https://www.gnu.org/software/guix/manual/html_node/Setuid-Programs.html)
+[setuid programs](https://www.gnu.org/software/guix/manual/en/html_node/Setuid-Programs.html)
live in GuixSD. Its `/etc` directory contains the minimal set of files
needed for proper operation rather than the complete `/etc` of the host.
`/var` contains nothing but BitlBee’s own state files, as well as the
@@ -249,7 +249,7 @@ file system mappings. Good candidates for increased isolation are HTTP
servers such as NGINX. However, for these, it’s more difficult to
determine the set of file system mappings that must be made. GuixSD has
the advantage that it knows
-[how NGINX is configured](https://www.gnu.org/software/guix/manual/html_node/Web-Services.html)
+[how NGINX is configured](https://www.gnu.org/software/guix/manual/en/html_node/Web-Services.html)
and could potentially derive file system mappings from that information.
Getting it right may be trickier than it seems, though, so this is
something we’ll have to investigate.
@@ -279,7 +279,7 @@ framework so we might even be able to automate it.
At this point it seems that tight integration between the distro and the
init system is the best way to precisely define system service
sandboxes. GuixSD’s
-[declarative approach to system services](https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#System-Services)
+[declarative approach to system services](https://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html#System-Services)
along with tight Shepherd integration help a lot here, but it remains to
be seen how difficult it is to create sandboxes for complex system
services such as NGINX.
diff --git a/website/posts/service-composition-in-guixsd.sxml b/website/posts/service-composition-in-guixsd.sxml
index 7d3e678..f993ead 100644
--- a/website/posts/service-composition-in-guixsd.sxml
+++ b/website/posts/service-composition-in-guixsd.sxml
@@ -16,15 +16,15 @@
(p "GuixSD is not like your parents’ distro. Instead of fiddling with configuration files all around, or running commands that do so as a side effect, the system administrator "
(em "declares")
" what the system will be like. This takes the form of an "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html"))
"operating-system declaration")
", which specifies all the details: file systems, user accounts, locale, timezone, system services, etc."
(br))
(p "If you’re familiar with it, this may remind you of what deployment tools like Ansible and Puppet provide. There is an important difference though: GuixSD takes a stateless—or “purely functional”—approach. This means that instantiating the system with "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html"))
"guix system")
" always produces the same result, without modifying the current system state. This is what makes it possible to test new system configurations, roll-back to previous ones, and so on. The "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html"))
"guix system")
" command allows system configurations to be instantiated on the bare metal, in virtual machines, or in "
(a (@ (href "/software/guix/news/container-provisioning-with-guix.html"))
@@ -48,7 +48,7 @@
(br))
(h4 "Services Beyond Daemons")
(p "System services are specified in the services field of operating-system declarations, which is a list of service objects. As a user, we want to be able to ideally add one line specifying the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Services.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Services.html"))
"system service")
" we want to add, possibly with several instances of a service, and have GuixSD do the right thing."
(br))
@@ -78,25 +78,25 @@
(p "The lesson learned from these observations is that system services "
(em "extend")
" each other in various way. The new "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Service-Composition.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Service-Composition.html"))
"service composition framework")
" is built around this model: “system services”, broadly defined, can extend each other, and services and their “extends” relationships form a graph. The root of the graph is the operating system itself."
(br))
(p "We can see that this pattern applies to services that are not daemons. PAM is one such example. Accounts are another example: GuixSD provides an “account service” that can be extended with new user accounts or groups; for example, the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Networking-Services.html#index-ntp_002dservice"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Networking-Services.html#index-ntp_002dservice"))
"Network time protocol (NTP) daemon")
" needs to run under the unprivileged “ntp” user, so the NTP service extends the account service with an “ntp” user account. Likewise, the “/etc” service can be extended with new files to be added to /etc; the “setuid” service can be extended with new programs to be made setuid-root. "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Service-Reference.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Service-Reference.html"))
"See the manual")
" for more examples."
(br))
(p "The nice thing is that composition of services is made "
(em "explicit")
": extensions can only happen where explicit extension relationships have been "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Service-Types-and-Services.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Service-Types-and-Services.html"))
"declared")
". By looking at the extension graph, users can see how services fit together. The "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html#system_002dextension_002dgraph"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html#system_002dextension_002dgraph"))
"guix system extension-graph")
" command, for instance, takes an operating-system declaration and renders the extension graph in the Graphviz format, making it easy to inspect the OS configuration structure."
(br))
@@ -122,12 +122,12 @@
(br))
(h4 "Wrapping Up")
(p "The new "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Service-Composition.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Service-Composition.html"))
"service composition framework")
" in GuixSD 0.9.0 addresses shortcomings found in previous versions of GuixSD. It simplifies operating-system declarations for users, and provides a highly extensible framework that clearly exposes the way services are composed."
(br))
(p "This new framework has already allowed us to integrate "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Desktop-Services.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Desktop-Services.html"))
"Freedesktop and GNOME services")
" in a convenient way. We hope it will prove fruitful as we address other types of services, such as Web services."
(br))
diff --git a/website/posts/state-of-aarch64-on-guix.md b/website/posts/state-of-aarch64-on-guix.md
index f37f9af..74951f6 100644
--- a/website/posts/state-of-aarch64-on-guix.md
+++ b/website/posts/state-of-aarch64-on-guix.md
@@ -16,7 +16,7 @@ There were problems with actually building the Guix binary in time for
the 0.13 release. It has since been fixed and I have an unoffical
aarch64 binary install tarball at http://flashner.co.il/~efraim/. Also there is
the signing key for my odroid running
-[`guix publish`](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-publish.html).
+[`guix publish`](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-publish.html).
The URL of my `guix publish` server is `http://git.flashner.co.il:8181`.
General problem points/packages:
diff --git a/website/posts/timely-delivery-of-security-updates.sxml b/website/posts/timely-delivery-of-security-updates.sxml
index 9f77fe5..092aa17 100644
--- a/website/posts/timely-delivery-of-security-updates.sxml
+++ b/website/posts/timely-delivery-of-security-updates.sxml
@@ -21,7 +21,7 @@
(br))
(h4 "Updates in a functional package management framework")
(p "GNU\xa0Guix implements the "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Introduction.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Introduction.html"))
"functional package management discipline")
". What this means is that the the package graph in Guix is an immutable, "
(a (@ (href "https://en.wikipedia.org/wiki/Persistent_data_structure"))
@@ -44,15 +44,15 @@
(a (@ (href "https://en.wikipedia.org/wiki/Referential_transparency"))
"“referentially transparent”")
", and as a bonus, we get "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Features.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Features.html"))
"features")
" such as transactional upgrades and rollbacks, peaceful coexistence of different variants of the same package, and more."
(br))
(p "But obviously, this update cost is very high when all you want is to deliver an important security update in a core package. Regarding yesterday’s update, "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Invoking-guix-refresh.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-refresh.html"))
"guix refresh -l openssl")
" shows that 2,115 packages depend on OpenSSL. On top of that, Guix supports 4 architectures, so needless to say, rebuilding everything that depends on OpenSSL would take time. Sure, users do not have to wait for "
- (a (@ (href "http://www.gnu.org/software/guix/manual/html_node/Substitutes.html"))
+ (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
"pre-built binaries")
" and can instead build just what they need locally; in practice, they’d better have a powerful machine, though."
(br))
@@ -65,7 +65,7 @@
(a (@ (href "https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/replace-dependency.nix"))
"in Nixpkgs")
" in 2013, and Guix itself has provided "
- (a (@ (href "https://www.gnu.org/software/guix/manual/html_node/Security-Updates.html"))
+ (a (@ (href "https://www.gnu.org/software/guix/manual/en/html_node/Security-Updates.html"))
"the infrastructure for grafted updates")
" since "
(a (@ (href "/software/guix/news/gnu-guix-08-released.html"))
diff --git a/website/posts/use-stock-ssh-agent-everywhere.md b/website/posts/use-stock-ssh-agent-everywhere.md
index 51b8e36..142322e 100644
--- a/website/posts/use-stock-ssh-agent-everywhere.md
+++ b/website/posts/use-stock-ssh-agent-everywhere.md
@@ -25,7 +25,7 @@ customize your entire system to be just the way you want it!
On GuixSD, I like to use the [GNOME desktop
environment](https://www.gnome.org). GNOME is just one of [the
various desktop environments that GuixSD
-supports](https://www.gnu.org/software/guix/manual/html_node/Desktop-Services.html).
+supports](https://www.gnu.org/software/guix/manual/en/html_node/Desktop-Services.html).
By default, the GNOME desktop environment on GuixSD comes with a lot
of goodies, including the [GNOME
Keyring](https://wiki.gnome.org/Projects/GnomeKeyring), which is
@@ -88,9 +88,9 @@ manager](https://sourceforge.net/projects/slim.berlios). When you log
in, SLiM presents you with a menu of so-called "desktop sessions",
which correspond to the desktop environments you've declared in your
[operating system
-declaration](https://www.gnu.org/software/guix/manual/html_node/operating_002dsystem-Reference.html).
+declaration](https://www.gnu.org/software/guix/manual/en/html_node/operating_002dsystem-Reference.html).
For example, if you've added the
-[gnome-desktop-service](https://www.gnu.org/software/guix/manual/html_node/Desktop-Services.html)
+[gnome-desktop-service](https://www.gnu.org/software/guix/manual/en/html_node/Desktop-Services.html)
to your operating system declaration, then you'll see an option for
GNOME at the SLiM login screen.
@@ -186,7 +186,7 @@ called `define-record-type*` ([defined in the file guix/records.scm in
the Guix
source](https://git.savannah.gnu.org/cgit/guix.git/tree/guix/records.scm?id=263c9941a1e523b360ca9f42d1ed6b11e6e6e285#n178)).
It's similar to an [SRFI-9
-record](https://www.gnu.org/software/guile/manual/html_node/SRFI_002d9-Records.html#SRFI_002d9-Records).
+record](https://www.gnu.org/software/guile/manual/en/html_node/SRFI_002d9-Records.html#SRFI_002d9-Records).
The `inherit` feature of this macro is very useful: it creates a new
copy of an existing record, overriding specific fields in the new copy
as needed.
@@ -198,7 +198,7 @@ and `arguments` fields in that new copy. We also use the
guix/utils.scm in the Guix
source](https://git.savannah.gnu.org/cgit/guix.git/tree/guix/utils.scm?id=263c9941a1e523b360ca9f42d1ed6b11e6e6e285#n345))
to add `--disable-ssh-agent` to the list of [configure
-flags](https://www.gnu.org/software/guix/manual/html_node/Build-Systems.html)
+flags](https://www.gnu.org/software/guix/manual/en/html_node/Build-Systems.html)
defined in the `gnome-keyring` package. The effect of this is to
define a new GNOME Keyring package that is built exactly the same as
the original, but in which the SSH agent is disabled.
@@ -225,7 +225,7 @@ how do we use it?
In GuixSD, the GNOME desktop environment is treated as a [system
service](
-https://www.gnu.org/software/guix/manual/html_node/Services.html). To
+https://www.gnu.org/software/guix/manual/en/html_node/Services.html). To
make GNOME use our custom GNOME Keyring package, we must somehow
customize the `gnome-desktop-service` ([defined in the file
gnu/services/desktop.scm](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/desktop.scm?id=263c9941a1e523b360ca9f42d1ed6b11e6e6e285#n795))
@@ -250,7 +250,7 @@ procedure in our operating system declaration, like this:
Here, the `cons*` procedure just adds the GNOME desktop service to the
`%desktop-services` list, returning the new list. For details, please
refer to [the Guile
-manual](https://www.gnu.org/software/guile/manual/html_node/List-Constructors.html#index-cons_002a).
+manual](https://www.gnu.org/software/guile/manual/en/html_node/List-Constructors.html#index-cons_002a).
Now the question is: what should `my-gnome-desktop-configuration` be?
Well, if we examine [the definition of this record type in the Guix
@@ -270,7 +270,7 @@ only to aggregate many GNOME packages together, including
definition](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gnome.scm?id=263c9941a1e523b360ca9f42d1ed6b11e6e6e285#n5977),
we can simply invoke `guix edit gnome`, which [opens the file where
the package is
-defined](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-edit.html#Invoking-guix-edit):
+defined](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-edit.html#Invoking-guix-edit):
```scheme
(define-public gnome
@@ -299,7 +299,7 @@ documents and diagrams, playing media, scanning, and much more.")
```
Apart from being a little long, this is [just a normal package
-definition](https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html#Defining-Packages).
+definition](https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html#Defining-Packages).
We can see that `gnome-keyring` is included in the list of
`propagated-inputs`. So, we need to create a replacement for the
`gnome` package that uses our `gnome-keyring-sans-ssh-agent` instead
@@ -324,9 +324,9 @@ As before, we use `inherit` to create a new copy of the `gnome`
package that overrides the original `name` and `propagated-inputs`
fields. Since Guix packages are just defined using good old scheme,
we can use existing language features like
-[`map`](https://www.gnu.org/software/guile/manual/html_node/List-Mapping.html#index-map)
+[`map`](https://www.gnu.org/software/guile/manual/en/html_node/List-Mapping.html#index-map)
and
-[`match-lambda`](https://www.gnu.org/software/guile/manual/html_node/Pattern-Matching.html#Pattern-Matching)
+[`match-lambda`](https://www.gnu.org/software/guile/manual/en/html_node/Pattern-Matching.html#Pattern-Matching)
to manipulate the list of propagated inputs. The effect of the above
is to create a new package that is the same as the `gnome` package but
uses `gnome-keyring-sans-ssh-agent` instead of `gnome-keyring`.
@@ -351,7 +351,7 @@ Now that we have `gnome-sans-ssh-agent`, we can create a custom
Finally, you need to run the following commands as `root` to create
and boot into the new [system
-generation](https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html)
+generation](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-system.html)
(replace `MY-CONFIG` with the path to the customized operating system
configuration file):
@@ -370,7 +370,7 @@ tied to any particular desktop session,
In the unfortunate event that something went wrong and things just
aren't working when you reboot, don't worry: with GuixSD, you can
safely roll back to the previous system generation via [the usual
-mechanisms](https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#index-roll_002dback_002c-of-the-operating-system).
+mechanisms](https://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html#index-roll_002dback_002c-of-the-operating-system).
For example, you can run this from the command line to roll back:
```shell
@@ -380,7 +380,7 @@ For example, you can run this from the command line to roll back:
This is one of the great benefits that comes from the fact that [Guix
follows the functional software deployment
-model](https://www.gnu.org/software/guix/manual/html_node/Introduction.html#Introduction).
+model](https://www.gnu.org/software/guix/manual/en/html_node/Introduction.html#Introduction).
However, note that because the `~/.xsession` file (like many files in
your home directory) is not managed by Guix, you must manually undo
the changes that you made to it in order to roll back fully.