diff --git a/docs/cloud/google/gcloud.md b/docs/cloud/google/gcloud.md
index a054494f06f7244aa4a725c0ab3e95194094c897..27969fac41665cd54ed99be99ddeb168827ab8f4 100644
--- a/docs/cloud/google/gcloud.md
+++ b/docs/cloud/google/gcloud.md
@@ -17,6 +17,42 @@ Configuration files are stored under `~/.config/gcloud/configurations`
 > category to my-project, use a command like:
 > CLOUDSDK_CORE_PROJECT=my-project gcloud config get core/project
 
+## Installation
+
+### AUR packages
+
+- `google-cloud-cli` (~500 mb)
+  )
+- `google-cloud-cli-lite` (strips unnecessary dependencies to reduce the size by > 75%)
+
+Components installation doesn't work with AUR packages:
+
+```console
+$ gcloud components install config-connector
+ERROR: (gcloud.components.install) You cannot perform this action because this Google Cloud CLI installation is managed by an external package manager.
+Please consider using a separate installation of the Google Cloud CLI created through the default mechanism described at: https://cloud.google.com/sdk/
+```
+
+Therefore it's preferred to install gcloud by other means.
+
+### mise
+
+```sh
+mise use -g gcloud
+```
+
+## Components
+
+- `beta`: `gcloud beta` commands
+- `config-connector`: i.e. export GCP resources as OpenTofu resources
+- `gke-gcloud-auth-plugin`:
+
+Install component:
+
+```sh
+gcloud components install config-connector
+```
+
 ## General usage
 
 ### Filters
diff --git a/docs/container/podman.md b/docs/container/podman/podman.md
similarity index 100%
rename from docs/container/podman.md
rename to docs/container/podman/podman.md
diff --git a/docs/container/podman/volumes.md b/docs/container/podman/volumes.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd0e6e63df821a5906abf59cbd55c9cf04156424
--- /dev/null
+++ b/docs/container/podman/volumes.md
@@ -0,0 +1,10 @@
+# Podman volumes
+
+## Bind mounts
+
+Bind mounts are mounted with `root:root` ownership by default.
+[Change the ownership of the bind mount](https://learn.redhat.com/t5/Containers-DevOps-OpenShift/Podman-volume-mounts-rootless-container-and-non-root-user-in/m-p/47581/highlight/true#M3055):
+
+```sh
+podman run --userns=keep-id:uid=1000,gid=1000 -v $(pwd):/code --rm -it ...
+```
diff --git a/docs/desktop/wayland/displays.md b/docs/desktop/wayland/displays.md
index 051273bd592e359e12e00b4d924fc1114a317213..96ea7520df017692f9e882cdc852e05c1463c773 100644
--- a/docs/desktop/wayland/displays.md
+++ b/docs/desktop/wayland/displays.md
@@ -1,5 +1,11 @@
 # Wayland display management
 
+## HDR
+
+- [Arch wiki: HDR monitor support](https://wiki.archlinux.org/title/HDR_monitor_support)
+- [Does Sway Have HDR Support?](https://www.reddit.com/r/swaywm/comments/1g72xtn/does_sway_have_hdr_support/)
+- [First experimental HDR video on sway](https://hachyderm.io/@emersion/113889560676722888)
+
 ## Multi-display setup
 
 - [swayws](https://github.com/hw0lff/swayws): easy moving of workspaces to and from outputs
diff --git a/docs/editors/neovim/lsp.md b/docs/editors/neovim/lsp.md
index 014d116880778dbf0fe3d46099ddcff46aa9f8cf..fe3da8e2699deec540d459ba13dabd411b763c37 100644
--- a/docs/editors/neovim/lsp.md
+++ b/docs/editors/neovim/lsp.md
@@ -18,12 +18,21 @@
 ### yaml-language-server
 
 - [yamlls config for nvim-lspconfig](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#yamlls)
+
+Issues:
+
+- [Use cached remote json schema in offline situations](https://github.com/redhat-developer/yaml-language-server/issues/1046)
+
+#### Kubernetes
+
+- [Set specific Kubernetes Schema Version](https://github.com/redhat-developer/yaml-language-server/issues/211)
+- [Remove built in kubernetes support](https://github.com/redhat-developer/yaml-language-server/issues/307)
+- [yaml-language-server settting yaml.schemaStore.url not working](https://github.com/neovim/nvim-lspconfig/issues/1207)
+
+#### Helm
+
+- [yamlls is active when filetype is "helm"](https://github.com/neovim/nvim-lspconfig/issues/2252)
 - Still missing: [Support for .tpf (Helm chart Yaml-based template files)](https://github.com/redhat-developer/yaml-language-server/issues/220)
-- Kubernetes support:
-  - [Set specific Kubernetes Schema Version](https://github.com/redhat-developer/yaml-language-server/issues/211)
-  - [Remove built in kubernetes support](https://github.com/redhat-developer/yaml-language-server/issues/307)
-  - [yaml-language-server settting yaml.schemaStore.url not working](https://github.com/neovim/nvim-lspconfig/issues/1207)
-  - [yamlls is active when filetype is "helm"](https://github.com/neovim/nvim-lspconfig/issues/2252)
 
 Enable yaml-language-server autocompletion by setting the right json schema,
 either by a comment at the top of the document like:
diff --git a/docs/git/credentials-helper.md b/docs/git/credentials-helper.md
index 4c0077fd6d0e3e2c60726945905f1f9bda9586ef..34566b75b9b15cb03cddeb2641f5ddb5586549d0 100644
--- a/docs/git/credentials-helper.md
+++ b/docs/git/credentials-helper.md
@@ -31,12 +31,19 @@ git config --global --add credential.helper oauth
 
 ### Custom Gitlab host
 
+- Custom Gitlab hosts need to get registered manually, until [Preconfigure Git Credential Manager as instance-wide OAuth application](https://gitlab.com/gitlab-org/gitlab/-/issues/374172)
+  is solved.
+- [Docs: Custom hosts](https://github.com/hickford/git-credential-oauth?tab=readme-ov-file#custom-hosts)
+
+Edit `~/.config/git/config` or:
+
 ```sh
 export GITLAB_URL=https://0xacab.org
 git config --global credential.${GITLAB_URL}.oauthClientId $(gopass show --password mnt/ndr/token/0xacab.org/varac/application/git-credential-oauth/id
 git config --global credential.${GITLAB_URL}.oauthScopes read_repository write_repository
 git config --global credential.${GITLAB_URL}.oauthAuthURL /oauth/authorize
 git config --global credential.${GITLAB_URL}.oauthTokenURL /oauth/token
+git config --global credential.${GITLAB_URL}.oauthDeviceAuthURL /oauth/authorize_device
 ```
 
 ### Test/Debug
diff --git a/docs/hardware/laptops/battery.md b/docs/hardware/laptops/battery.md
new file mode 100644
index 0000000000000000000000000000000000000000..4f393a0419356c7f90d0b0b9a1ed3d464a61c6a0
--- /dev/null
+++ b/docs/hardware/laptops/battery.md
@@ -0,0 +1,22 @@
+# Laptop battery
+
+Query battery status with `acpi`:
+
+```console
+$ acpi -b
+Battery 0: Charging, 16%, 01:24:00 until charged
+```
+
+Query battery with `upower`:
+
+```sh
+upower -i /org/freedesktop/UPower/devices/battery_BAT0
+```
+
+Query battery with `/sys/class/power_suppply`:
+
+```sh
+ls -al /sys/class/power_supply/BAT0/*
+cat /sys/class/power_supply/BAT0/capacity
+...
+```
diff --git a/docs/hardware/laptops/x1-carbon.md b/docs/hardware/laptops/x1-carbon.md
index 729c4d740ffe4e638a4c9863024999b36e3442f1..97ca6d605ee70723c63342cdc3effef9897c5d2e 100644
--- a/docs/hardware/laptops/x1-carbon.md
+++ b/docs/hardware/laptops/x1-carbon.md
@@ -34,9 +34,6 @@ Doesn't work yet. From the arch wiki page:
 - [Suspend/hibernate issue on Thinkpad x1 carbon gen10](https://github.com/intel/ipu6-drivers/issues/107)
 - [archlinux-ipu6-webcam support issue](https://github.com/stefanpartheym/archlinux-ipu6-webcam/issues/21)
 
-Works on kernel 6.5, but not on 6.6:
-[Rebuilding the DKMS in Kernel 6.6.2 is problematic](https://github.com/stefanpartheym/archlinux-ipu6-webcam/issues/57)
-
 ### Installation from kernel v6.11 onwards
 
 - [Please upstream modules into mainline kernel](https://github.com/intel/ipu6-drivers/issues/22)
@@ -44,26 +41,55 @@ Works on kernel 6.5, but not on 6.6:
 - [How to use the IPU6 webcam with kernel 6.10+?](https://bbs.archlinux.org/viewtopic.php?pid=2181619#p2181619)
   - [feed](https://bbs.archlinux.org/extern.php?action=feed&tid=297262&type=atom)
 - [Fedora wiki: Changes/IPU6 Camera support](https://fedoraproject.org/wiki/Changes/IPU6_Camera_support)
+- [Debian bugtracker: linux-image-amd64: Please enable several CONFIG\_ options required for IPU6/MIPI cameras](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074441#56)
+
+### Working installation
 
-From
-[Debian bugtracker: linux-image-amd64: Please enable several CONFIG\_ options required for IPU6/MIPI cameras](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074441#56)
+Prerequisites:
 
-- Linux kernel >= `6.11.1`
-- libcamera >= `0.3.1-2`
-  - "libcamera requires DMAHEAP, so beyond the settings mentioned above, one
-    also has to enable DMABUF_HEAPS (and possibly DMABUF_HEAPS_SYSTEM options; I
-    just set bot to y)"
-- systemd > `v256`, or create the file `/etc/udev/rules.d/70-ipu6-psys.rules` as
-  shown in the relevant
-  [PR: rules: Add uaccess tag to /dev/udmabuf](https://github.com/systemd/systemd/pull/33738/files)
-  Install packages shown in this
-  [success tutorial](https://bbs.archlinux.org/viewtopic.php?pid=2204987#p2204987):
+- Linux kernel >= `6.14`
+- [libcamera](https://git.libcamera.org/libcamera/libcamera.git/) >= `0.4.0`
+- systemd > `v256`
+
+Install packages shown in this [success tutorial](https://bbs.archlinux.org/viewtopic.php?pid=2204987#p2204987):
 
 ```sh
-sudo pacman -S extra/gst-plugin-libcamera extra/pipewire-libcamera extra/libcamera-tools extra/libcamera-ipa extra/libcamera
+sudo pacman -S \
+  extra/gst-plugin-libcamera \
+  extra/pipewire-libcamera \
+  extra/libcamera-tools \
+  extra/libcamera-ipa \
+  extra/libcamera
 pamac install intel-ivsc-firmware
 ```
 
+✅ Test the cam, this should generate a lot of files (stop it after a second with Ctrl+C)
+and turn on the camera light if everything is working correctly:
+
+```sh
+cam -c 1 -F'/tmp/#.bin' -C
+```
+
+✅ Test with gstreamer, this should show the stream from the camera:
+
+```sh
+gst-launch-1.0 libcamerasrc ! queue ! glimagesink
+```
+
+Apps that work with the camera:
+
+- ✅ [Gnome snapshot](https://apps.gnome.org/Snapshot/)
+- ❌ cheese (image freezes)
+- ❌ Chromium: [WebRTC samples: getUserMedia](https://webrtc.github.io/samples/src/content/getusermedia/gum/)
+  - Enable `#enable-webrtc-pipewire-camera` in `chrome://flags/`
+  - `getUserMedia error: NotReadableError`
+- ❌ Chromium: [Mozilla WebRTC getUserMedia](https://mozilla.github.io/webrtc-landing/gum_test.html)
+  - `NotFoundError: Requested device not found`
+- ✅ Firefox: [WebRTC samples: getUserMedia](https://webrtc.github.io/samples/src/content/getusermedia/gum/)
+  - Make sure to enable `media.webrtc.camera.allow-pipewire` in `about:config`
+  - Image is pretty dark and of bad quality, compared to i.e. `gnome snapshot`
+- ❌ Firefox: [Mozilla WebRTC getUserMedia](https://mozilla.github.io/webrtc-landing/gum_test.html)
+
 Still with cheese:
 
 ```sh
@@ -76,7 +102,8 @@ streaming stopped, reason not-negotiated (-4)
 ```sh
 sudo pacman -S linux65-headers
 
-git clone https://github.com/stefanpartheym/archlinux-ipu6-webcam ~/work/webcam/archlinux-ipu6-webcam
+git clone https://github.com/stefanpartheym/archlinux-ipu6-webcam \
+  ~/work/webcam/archlinux-ipu6-webcam
 cd ~/work/webcam/archlinux-ipu6-webcam
 ./install.sh
 ```
@@ -114,8 +141,16 @@ Test webcam with `./test.sh`
 Uninstall:
 
 ```sh
-sudo pacman -R dkms intel-ipu6-dkms-git-fix intel-ipu6ep-camera-bin \
-  intel-ivsc-driver-dkms-git v4l2loopback-dkms-git-fix \
-  intel-ipu6ep-camera-hal-git-fix icamerasrc-git v4l2loopback-dkms-git-fix \
-  v4l2-relayd-fix intel-ipu6ep-camera-bin-fix intel-ipu6ep-camera-hal-git-fix
+sudo pacman -R
+  dkms \
+  icamerasrc-git \
+  intel-ipu6-dkms-git-fix \
+  intel-ipu6ep-camera-bin \
+  intel-ipu6ep-camera-bin-fix \
+  intel-ipu6ep-camera-hal-git-fix
+  intel-ipu6ep-camera-hal-git-fix \
+  intel-ivsc-driver-dkms-git \
+  v4l2-relayd-fix \
+  v4l2loopback-dkms-git-fix \
+  v4l2loopback-dkms-git-fix \
 ```
diff --git a/docs/kubernetes/helm/template-charts.md b/docs/kubernetes/helm/template-charts.md
new file mode 100644
index 0000000000000000000000000000000000000000..299bfbb32f5c522a453152e6c0b4d04a2f2a8ec5
--- /dev/null
+++ b/docs/kubernetes/helm/template-charts.md
@@ -0,0 +1,18 @@
+# Template helm charts
+
+Generic charts that can deploy any workload
+
+## bjw-s/app-template
+
+- [Website/Docs](https://bjw-s.github.io/helm-charts/docs/app-template/)
+
+Json schema for values for validation and code completion:
+
+```yaml
+# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/app-template-3.2.0/charts/other/app-template/values.schema.json
+```
+
+## Stakater
+
+- [GitHub](https://github.com/stakater/application)
+- No json schema for values