diff --git a/docs/go.mod b/docs/go.mod
deleted file mode 100644
index c4ffd29a..00000000
--- a/docs/go.mod
+++ /dev/null
@@ -1,8 +0,0 @@
-module foo-dogsquared-nixos-config-site
-
-go 1.20
-
-require (
- github.com/foo-dogsquared/hugo-theme-more-contentful v0.7.0 // indirect
- github.com/foo-dogsquared/website v0.0.0-20230708113620-9c0c493becff // indirect
-)
diff --git a/docs/go.sum b/docs/go.sum
deleted file mode 100644
index c48a2b26..00000000
--- a/docs/go.sum
+++ /dev/null
@@ -1,9 +0,0 @@
-github.com/foo-dogsquared/hugo-mod-simple-icons v0.0.0-20230426231746-ef27600d22f3/go.mod h1:11iN6ArO6sro187xxOeDYAFMENfUNd+Vopn+qqVkCbw=
-github.com/foo-dogsquared/hugo-mod-web-feeds v0.0.3-0.20220613123653-e0bc8e58159d/go.mod h1:V7UXom6wuFrWj1lBUCXQA3HguwfDhQA+tQNxyRxdClk=
-github.com/foo-dogsquared/hugo-theme-contentful v1.2.1-0.20220513103455-d83c3f8c6954/go.mod h1:BL7L5CENEhUx+miRRaOZ9SVC92j9MAMztirBWtTpiPc=
-github.com/foo-dogsquared/hugo-theme-more-contentful v0.7.0 h1:N+U5CshaEko6batgTHa6GBfl2bg/1RbG1dAX6EkndVM=
-github.com/foo-dogsquared/hugo-theme-more-contentful v0.7.0/go.mod h1:BpUC3zBnnsil2SkU6bULvcDvAEs6FdDDEM8uB0oCpho=
-github.com/foo-dogsquared/website v0.0.0-20230708113620-9c0c493becff h1:SmB7yEWR04EWeZ47oQnCBQtD9ZqAOQv9aQjESyfYBDo=
-github.com/foo-dogsquared/website v0.0.0-20230708113620-9c0c493becff/go.mod h1:Wce+DpoP9bp3tTaXFeghknBeJEpnDZ4roiR8qwArSXQ=
-github.com/refactoringui/heroicons v2.0.17+incompatible/go.mod h1:82HsLWQga7MkEl5aK8TctxPPIBlXrsyWcVTB57uipuk=
-github.com/simple-icons/simple-icons v0.0.0-20230423030844-cd4f7d2bf53c/go.mod h1:oOgUUt8yVYOso/wEBi2ojfZP2MU/xxiNccIpaE+jCvE=
diff --git a/docs/layouts/_default/baseof.html b/docs/layouts/_default/baseof.html
deleted file mode 100644
index 9de7dd68..00000000
--- a/docs/layouts/_default/baseof.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- {{ partial "precontent.html" . }}
-
- {{ partial "head.html" . -}}
- {{ partial "head-extended.html" . }}
-
-
-
-
- {{ partial "header.html" . }}
-
- {{ block "main" . }}{{ end }}
- {{ partial "footer.html" . }}
-
-
-
diff --git a/docs/shell.nix b/docs/shell.nix
deleted file mode 100644
index 3fe9701d..00000000
--- a/docs/shell.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ pkgs ? import { } }:
-
-with pkgs;
-
-let
- asciidoctorWrapper = writeShellScriptBin "asciidoctor" ''
- ${lib.getBin gems}/bin/asciidoctor -T ${./assets/templates/asciidoctor} $@
- '';
-
- gems = bundlerEnv {
- name = "nixos-config-project-docs";
- ruby = ruby_3_1;
- gemdir = ./.;
- };
-in
-mkShell {
- packages = [
- asciidoctorWrapper
- gems
- gems.wrappedRuby
- bundix
-
- hugo
- go
- nodePackages.prettier
- vscode-langservers-extracted
- ];
-}
diff --git a/docs/.gitignore b/docs/website/.gitignore
similarity index 100%
rename from docs/.gitignore
rename to docs/website/.gitignore
diff --git a/docs/Gemfile b/docs/website/Gemfile
similarity index 100%
rename from docs/Gemfile
rename to docs/website/Gemfile
diff --git a/docs/Gemfile.lock b/docs/website/Gemfile.lock
similarity index 100%
rename from docs/Gemfile.lock
rename to docs/website/Gemfile.lock
diff --git a/docs/LICENSE b/docs/website/LICENSE
similarity index 100%
rename from docs/LICENSE
rename to docs/website/LICENSE
diff --git a/docs/README.adoc b/docs/website/README.adoc
similarity index 100%
rename from docs/README.adoc
rename to docs/website/README.adoc
diff --git a/docs/assets/scss/extend.scss b/docs/website/assets/scss/extend.scss
similarity index 100%
rename from docs/assets/scss/extend.scss
rename to docs/website/assets/scss/extend.scss
diff --git a/docs/assets/templates/asciidoctor/admonition.html.erb b/docs/website/assets/templates/asciidoctor/admonition.html.erb
similarity index 100%
rename from docs/assets/templates/asciidoctor/admonition.html.erb
rename to docs/website/assets/templates/asciidoctor/admonition.html.erb
diff --git a/docs/assets/templates/asciidoctor/paragraph.html.erb b/docs/website/assets/templates/asciidoctor/paragraph.html.erb
similarity index 100%
rename from docs/assets/templates/asciidoctor/paragraph.html.erb
rename to docs/website/assets/templates/asciidoctor/paragraph.html.erb
diff --git a/docs/config/_default/config.toml b/docs/website/config/_default/config.toml
similarity index 100%
rename from docs/config/_default/config.toml
rename to docs/website/config/_default/config.toml
diff --git a/docs/config/_default/languages.toml b/docs/website/config/_default/languages.toml
similarity index 100%
rename from docs/config/_default/languages.toml
rename to docs/website/config/_default/languages.toml
diff --git a/docs/config/_default/markup.toml b/docs/website/config/_default/markup.toml
similarity index 100%
rename from docs/config/_default/markup.toml
rename to docs/website/config/_default/markup.toml
diff --git a/docs/config/_default/module.toml b/docs/website/config/_default/module.toml
similarity index 100%
rename from docs/config/_default/module.toml
rename to docs/website/config/_default/module.toml
diff --git a/docs/content/en/01-introduction/index.adoc b/docs/website/content/en/01-introduction/index.adoc
similarity index 100%
rename from docs/content/en/01-introduction/index.adoc
rename to docs/website/content/en/01-introduction/index.adoc
diff --git a/docs/content/en/02-lay-of-the-land/01-prerequisites/index.adoc b/docs/website/content/en/02-lay-of-the-land/01-prerequisites/index.adoc
similarity index 100%
rename from docs/content/en/02-lay-of-the-land/01-prerequisites/index.adoc
rename to docs/website/content/en/02-lay-of-the-land/01-prerequisites/index.adoc
diff --git a/docs/content/en/02-lay-of-the-land/02-project-structure/index.adoc b/docs/website/content/en/02-lay-of-the-land/02-project-structure/index.adoc
similarity index 100%
rename from docs/content/en/02-lay-of-the-land/02-project-structure/index.adoc
rename to docs/website/content/en/02-lay-of-the-land/02-project-structure/index.adoc
diff --git a/docs/content/en/02-lay-of-the-land/03-whats-in-my-flake/index.adoc b/docs/website/content/en/02-lay-of-the-land/03-whats-in-my-flake/index.adoc
similarity index 100%
rename from docs/content/en/02-lay-of-the-land/03-whats-in-my-flake/index.adoc
rename to docs/website/content/en/02-lay-of-the-land/03-whats-in-my-flake/index.adoc
diff --git a/docs/content/en/02-lay-of-the-land/04-channels-support/index.adoc b/docs/website/content/en/02-lay-of-the-land/04-channels-support/index.adoc
similarity index 100%
rename from docs/content/en/02-lay-of-the-land/04-channels-support/index.adoc
rename to docs/website/content/en/02-lay-of-the-land/04-channels-support/index.adoc
diff --git a/docs/content/en/02-lay-of-the-land/05-what-should-not-be-here/index.adoc b/docs/website/content/en/02-lay-of-the-land/05-what-should-not-be-here/index.adoc
similarity index 100%
rename from docs/content/en/02-lay-of-the-land/05-what-should-not-be-here/index.adoc
rename to docs/website/content/en/02-lay-of-the-land/05-what-should-not-be-here/index.adoc
diff --git a/docs/content/en/02-lay-of-the-land/06-the-ci-server/index.adoc b/docs/website/content/en/02-lay-of-the-land/06-the-ci-server/index.adoc
similarity index 100%
rename from docs/content/en/02-lay-of-the-land/06-the-ci-server/index.adoc
rename to docs/website/content/en/02-lay-of-the-land/06-the-ci-server/index.adoc
diff --git a/docs/content/en/03-project-specific-setup/01-declarative-host-management/index.adoc b/docs/website/content/en/03-project-specific-setup/01-declarative-host-management/index.adoc
similarity index 100%
rename from docs/content/en/03-project-specific-setup/01-declarative-host-management/index.adoc
rename to docs/website/content/en/03-project-specific-setup/01-declarative-host-management/index.adoc
diff --git a/docs/content/en/03-project-specific-setup/02-declarative-user-management/index.adoc b/docs/website/content/en/03-project-specific-setup/02-declarative-user-management/index.adoc
similarity index 100%
rename from docs/content/en/03-project-specific-setup/02-declarative-user-management/index.adoc
rename to docs/website/content/en/03-project-specific-setup/02-declarative-user-management/index.adoc
diff --git a/docs/content/en/03-project-specific-setup/03-secrets-management/assets/attach-sops-prefix.nix b/docs/website/content/en/03-project-specific-setup/03-secrets-management/assets/attach-sops-prefix.nix
similarity index 100%
rename from docs/content/en/03-project-specific-setup/03-secrets-management/assets/attach-sops-prefix.nix
rename to docs/website/content/en/03-project-specific-setup/03-secrets-management/assets/attach-sops-prefix.nix
diff --git a/docs/content/en/03-project-specific-setup/03-secrets-management/assets/get-secrets.nix b/docs/website/content/en/03-project-specific-setup/03-secrets-management/assets/get-secrets.nix
similarity index 100%
rename from docs/content/en/03-project-specific-setup/03-secrets-management/assets/get-secrets.nix
rename to docs/website/content/en/03-project-specific-setup/03-secrets-management/assets/get-secrets.nix
diff --git a/docs/content/en/03-project-specific-setup/03-secrets-management/index.adoc b/docs/website/content/en/03-project-specific-setup/03-secrets-management/index.adoc
similarity index 100%
rename from docs/content/en/03-project-specific-setup/03-secrets-management/index.adoc
rename to docs/website/content/en/03-project-specific-setup/03-secrets-management/index.adoc
diff --git a/docs/content/en/03-project-specific-setup/04-custom-firefox-addons/index.adoc b/docs/website/content/en/03-project-specific-setup/04-custom-firefox-addons/index.adoc
similarity index 100%
rename from docs/content/en/03-project-specific-setup/04-custom-firefox-addons/index.adoc
rename to docs/website/content/en/03-project-specific-setup/04-custom-firefox-addons/index.adoc
diff --git a/docs/content/en/04-nixos-modules/01-workflows/index.adoc b/docs/website/content/en/04-nixos-modules/01-workflows/index.adoc
similarity index 100%
rename from docs/content/en/04-nixos-modules/01-workflows/index.adoc
rename to docs/website/content/en/04-nixos-modules/01-workflows/index.adoc
diff --git a/docs/content/en/04-nixos-modules/02-disko/index.adoc b/docs/website/content/en/04-nixos-modules/02-disko/index.adoc
similarity index 100%
rename from docs/content/en/04-nixos-modules/02-disko/index.adoc
rename to docs/website/content/en/04-nixos-modules/02-disko/index.adoc
diff --git a/docs/content/en/04-nixos-modules/03-host-specific-modules/index.adoc b/docs/website/content/en/04-nixos-modules/03-host-specific-modules/index.adoc
similarity index 100%
rename from docs/content/en/04-nixos-modules/03-host-specific-modules/index.adoc
rename to docs/website/content/en/04-nixos-modules/03-host-specific-modules/index.adoc
diff --git a/docs/content/en/05-home-manager/index.adoc b/docs/website/content/en/05-home-manager/index.adoc
similarity index 100%
rename from docs/content/en/05-home-manager/index.adoc
rename to docs/website/content/en/05-home-manager/index.adoc
diff --git a/docs/content/en/06-using-parts-of-my-configuration/index.adoc b/docs/website/content/en/06-using-parts-of-my-configuration/index.adoc
similarity index 100%
rename from docs/content/en/06-using-parts-of-my-configuration/index.adoc
rename to docs/website/content/en/06-using-parts-of-my-configuration/index.adoc
diff --git a/docs/content/en/07-faq/index.adoc b/docs/website/content/en/07-faq/index.adoc
similarity index 100%
rename from docs/content/en/07-faq/index.adoc
rename to docs/website/content/en/07-faq/index.adoc
diff --git a/docs/content/en/08-acknowledgement/index.adoc b/docs/website/content/en/08-acknowledgement/index.adoc
similarity index 100%
rename from docs/content/en/08-acknowledgement/index.adoc
rename to docs/website/content/en/08-acknowledgement/index.adoc
diff --git a/docs/content/en/09-copyright/index.adoc b/docs/website/content/en/09-copyright/index.adoc
similarity index 100%
rename from docs/content/en/09-copyright/index.adoc
rename to docs/website/content/en/09-copyright/index.adoc
diff --git a/docs/content/en/_index.adoc b/docs/website/content/en/_index.adoc
similarity index 100%
rename from docs/content/en/_index.adoc
rename to docs/website/content/en/_index.adoc
diff --git a/docs/content/en/menu.adoc b/docs/website/content/en/menu.adoc
similarity index 100%
rename from docs/content/en/menu.adoc
rename to docs/website/content/en/menu.adoc
diff --git a/docs/gemset.nix b/docs/website/gemset.nix
similarity index 100%
rename from docs/gemset.nix
rename to docs/website/gemset.nix
diff --git a/docs/website/go.mod b/docs/website/go.mod
new file mode 100644
index 00000000..c0744f71
--- /dev/null
+++ b/docs/website/go.mod
@@ -0,0 +1,8 @@
+module foo-dogsquared-nixos-config-site
+
+go 1.20
+
+require (
+ github.com/foo-dogsquared/hugo-theme-more-contentful v0.7.1-0.20240518105144-dd35649b15e2 // indirect
+ github.com/foo-dogsquared/website v0.0.0-20240609010936-d1a9857559b8 // indirect
+)
diff --git a/docs/website/go.sum b/docs/website/go.sum
new file mode 100644
index 00000000..7bc1e35c
--- /dev/null
+++ b/docs/website/go.sum
@@ -0,0 +1,10 @@
+github.com/foo-dogsquared/hugo-mod-simple-icons v0.0.0-20231025231637-36998f86bbf2/go.mod h1:8HnVc0SlzI7LCEU4sITYS5MQTq0Bct/nFr/7LdsHYVQ=
+github.com/foo-dogsquared/hugo-mod-web-feeds v0.0.3-0.20220613123653-e0bc8e58159d/go.mod h1:V7UXom6wuFrWj1lBUCXQA3HguwfDhQA+tQNxyRxdClk=
+github.com/foo-dogsquared/hugo-theme-contentful v1.2.1-0.20220513103455-d83c3f8c6954/go.mod h1:BL7L5CENEhUx+miRRaOZ9SVC92j9MAMztirBWtTpiPc=
+github.com/foo-dogsquared/hugo-theme-more-contentful v0.7.1-0.20231028090155-ee19cd7714b4/go.mod h1:RgD3YpinFJyZhtn0iVLNs8eRa0nSs2VA+o1jBpe4zBs=
+github.com/foo-dogsquared/hugo-theme-more-contentful v0.7.1-0.20240518105144-dd35649b15e2 h1:BvkVSiI6jXUhUyuRnBY6gSnmb2Th/7FaEwBStbw36Qk=
+github.com/foo-dogsquared/hugo-theme-more-contentful v0.7.1-0.20240518105144-dd35649b15e2/go.mod h1:RgD3YpinFJyZhtn0iVLNs8eRa0nSs2VA+o1jBpe4zBs=
+github.com/foo-dogsquared/website v0.0.0-20240609010936-d1a9857559b8 h1:a7HWbiHMkcgz6T2lpm4gXHFTljuQ66uHH6YyZdZqeKA=
+github.com/foo-dogsquared/website v0.0.0-20240609010936-d1a9857559b8/go.mod h1:zJw9MC6Ajnx5Bom/52LR9Xib40toK9d2tG9FeVqJN3U=
+github.com/refactoringui/heroicons v2.0.18+incompatible/go.mod h1:82HsLWQga7MkEl5aK8TctxPPIBlXrsyWcVTB57uipuk=
+github.com/simple-icons/simple-icons v0.0.0-20231022005333-fdbaaa2d5f99/go.mod h1:oOgUUt8yVYOso/wEBi2ojfZP2MU/xxiNccIpaE+jCvE=
diff --git a/docs/website/layouts/_default/baseof.html b/docs/website/layouts/_default/baseof.html
new file mode 100644
index 00000000..a6f2f890
--- /dev/null
+++ b/docs/website/layouts/_default/baseof.html
@@ -0,0 +1,22 @@
+
+
+{{ partial "precontent.html" . }}
+
+
+ {{ partial "head.html" . -}}
+ {{ partial "head-extended.html" . }}
+
+
+
+
+
+ {{ partial "header.html" . }}
+
+ {{ block "main" . }}{{ end }}
+ {{ partial "footer.html" . }}
+
+
+
+
diff --git a/docs/layouts/index.html b/docs/website/layouts/index.html
similarity index 100%
rename from docs/layouts/index.html
rename to docs/website/layouts/index.html
diff --git a/docs/layouts/partials/chapters.html b/docs/website/layouts/partials/chapters.html
similarity index 100%
rename from docs/layouts/partials/chapters.html
rename to docs/website/layouts/partials/chapters.html
diff --git a/docs/layouts/partials/head-extended.html b/docs/website/layouts/partials/head-extended.html
similarity index 100%
rename from docs/layouts/partials/head-extended.html
rename to docs/website/layouts/partials/head-extended.html
diff --git a/docs/website/shell.nix b/docs/website/shell.nix
new file mode 100644
index 00000000..bca9b7a1
--- /dev/null
+++ b/docs/website/shell.nix
@@ -0,0 +1,18 @@
+{ pkgs ? import {
+ overlays = [ (import ../overlays).default ];
+} }:
+
+
+let
+ site = pkgs.callPackage ./package.nix { };
+in
+pkgs.mkShell {
+ inputsFrom = [ site ];
+
+ packages = with pkgs; [
+ bundix
+
+ nodePackages.prettier
+ vscode-langservers-extracted
+ ];
+}
diff --git a/docs/static/favicon.png b/docs/website/static/favicon.png
similarity index 100%
rename from docs/static/favicon.png
rename to docs/website/static/favicon.png
diff --git a/docs/static/icons/avatars/ezran/angry.avif b/docs/website/static/icons/avatars/ezran/angry.avif
similarity index 100%
rename from docs/static/icons/avatars/ezran/angry.avif
rename to docs/website/static/icons/avatars/ezran/angry.avif
diff --git a/docs/static/icons/avatars/ezran/curious.avif b/docs/website/static/icons/avatars/ezran/curious.avif
similarity index 100%
rename from docs/static/icons/avatars/ezran/curious.avif
rename to docs/website/static/icons/avatars/ezran/curious.avif
diff --git a/docs/static/icons/avatars/ezran/default.avif b/docs/website/static/icons/avatars/ezran/default.avif
similarity index 100%
rename from docs/static/icons/avatars/ezran/default.avif
rename to docs/website/static/icons/avatars/ezran/default.avif
diff --git a/docs/static/icons/avatars/ezran/disappointed.avif b/docs/website/static/icons/avatars/ezran/disappointed.avif
similarity index 100%
rename from docs/static/icons/avatars/ezran/disappointed.avif
rename to docs/website/static/icons/avatars/ezran/disappointed.avif
diff --git a/docs/static/icons/avatars/ezran/proud.avif b/docs/website/static/icons/avatars/ezran/proud.avif
similarity index 100%
rename from docs/static/icons/avatars/ezran/proud.avif
rename to docs/website/static/icons/avatars/ezran/proud.avif
diff --git a/docs/static/icons/avatars/ezran/skeptical.avif b/docs/website/static/icons/avatars/ezran/skeptical.avif
similarity index 100%
rename from docs/static/icons/avatars/ezran/skeptical.avif
rename to docs/website/static/icons/avatars/ezran/skeptical.avif
diff --git a/docs/static/icons/avatars/foodogsquared/cheeky.avif b/docs/website/static/icons/avatars/foodogsquared/cheeky.avif
similarity index 100%
rename from docs/static/icons/avatars/foodogsquared/cheeky.avif
rename to docs/website/static/icons/avatars/foodogsquared/cheeky.avif
diff --git a/docs/static/icons/avatars/foodogsquared/curious.avif b/docs/website/static/icons/avatars/foodogsquared/curious.avif
similarity index 100%
rename from docs/static/icons/avatars/foodogsquared/curious.avif
rename to docs/website/static/icons/avatars/foodogsquared/curious.avif
diff --git a/docs/static/icons/avatars/foodogsquared/default.avif b/docs/website/static/icons/avatars/foodogsquared/default.avif
similarity index 100%
rename from docs/static/icons/avatars/foodogsquared/default.avif
rename to docs/website/static/icons/avatars/foodogsquared/default.avif
diff --git a/docs/static/icons/avatars/foodogsquared/despair.avif b/docs/website/static/icons/avatars/foodogsquared/despair.avif
similarity index 100%
rename from docs/static/icons/avatars/foodogsquared/despair.avif
rename to docs/website/static/icons/avatars/foodogsquared/despair.avif
diff --git a/docs/static/icons/avatars/foodogsquared/disappointed.avif b/docs/website/static/icons/avatars/foodogsquared/disappointed.avif
similarity index 100%
rename from docs/static/icons/avatars/foodogsquared/disappointed.avif
rename to docs/website/static/icons/avatars/foodogsquared/disappointed.avif
diff --git a/docs/static/icons/avatars/foodogsquared/nervous.avif b/docs/website/static/icons/avatars/foodogsquared/nervous.avif
similarity index 100%
rename from docs/static/icons/avatars/foodogsquared/nervous.avif
rename to docs/website/static/icons/avatars/foodogsquared/nervous.avif
diff --git a/docs/static/nix-snowflake-with-fds.svg b/docs/website/static/nix-snowflake-with-fds.svg
similarity index 100%
rename from docs/static/nix-snowflake-with-fds.svg
rename to docs/website/static/nix-snowflake-with-fds.svg
diff --git a/docs/static/nix-snowflake.svg b/docs/website/static/nix-snowflake.svg
similarity index 100%
rename from docs/static/nix-snowflake.svg
rename to docs/website/static/nix-snowflake.svg