diff --git a/docs/user/software-origins/nixguix.rst b/docs/user/software-origins/nixguix.rst
index 6acfc6ffc05ab6c51385c1c1fe96f7c9d9596bcd..99511b8d07568403d6f729d0efb9cd55c26203b7 100644
--- a/docs/user/software-origins/nixguix.rst
+++ b/docs/user/software-origins/nixguix.rst
@@ -8,12 +8,56 @@ Nix and Guix
 
 .. include:: dynamic/nixguix_status.inc
 
+This page documents how |swh| archives source packages from the
+`GNU Guix <https://guix.gnu.org/>`_ and `Nix <https://nixos.org/>`_
+distributions.
+
+Those distributions provide functional package managers, respectively GNU Guix and Nix
+with similar properties (e.g. transactional, declarative up to the operating system,
+reproducible, ...). Definition of packages is dependent on their respective DSL. As it
+was not parsable easily nor listing api existed, community effort was done upstream to
+provide regular extraction of an origin listing (as json manifest).
+
+|swh|'s NixGuix lister queries respectively those remote origins listing. They contain
+various types of origins.
+
+As a result |swh| has a lister and various loaders to deal with those origins. Those
+origins can be:
+- simple file (visit type 'content')
+- tarballs (visit type 'tarball-directory')
+- 'svn' repository (full or at a specific revision, visit type 'svn-export')
+- 'git' repository (full or at a specific commit, visit type 'git-checkout')
+- 'hg' repository (full or at a specific hg changeset, visit type 'hg-checkout').
+
+Origin URLs match each main url provided in the manifest.
+
+For some cases, there can be mirror urls which are used as fallback artifact retrieval
+when the main url is no longer available.
+
+No extrinsic nor intrinsic metadata is happening on the lister's side.
+
+But for some kind of origins, 'content', 'tarball-directory', 'svn-export',
+'hg-checkout', 'git-checkout', extra information regarding the checksums used
+('standard', e.g. sha256, or 'nar', specific intrinsic identifier used by Guix and Nix),
+are transmitted to their respective loaders. During their respective ingestion, those
+checksums are verified. If the checksum does not match, the artifact is rejected and the
+visit is failed. If not, the artifact is ingested. Note that a new entry is recorded in
+the ExtID table to map the SWHID of the content or directory ingested to their their
+original checksum.
+
 TODO:
 
-* description of the software origin
 * summary of the lister's algorithm
 * summary of the loader's algorithm
-* URL pattern
-* collect extrinsic metadata?
 * index extrinsic metadata?
 * index intrinsic metadata?
+
+Resources:
+
+* `Gnu Guix git repository <https://git.savannah.gnu.org/cgit/guix.git>`__
+
+* `Nixpkgs git repository <https://github.com/nixos/nixpkgs>`__
+
+* `Remote nixpkgs json manifest <https://nix-community.github.io/nixpkgs-swh/sources-unstable-full.json>`__
+
+- `Remote guix json manifest <https://nix-community.github.io/nixpkgs-swh/>`__