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