diff --git a/.devcontainer/VERSION_MATRIX.md b/.devcontainer/VERSION_MATRIX.md
index e51343f49052158a5cb20a5213b3ab4c2dcbad9e..d4c84d5fd8f5af1675efb1a35b2f016b09478fe5 100644
--- a/.devcontainer/VERSION_MATRIX.md
+++ b/.devcontainer/VERSION_MATRIX.md
@@ -2,14 +2,14 @@
 
 ## Current
 
-| GHC                         | Cabal[^1] | Stack[^1]   | HLS                                                            |
-|:----------------------------|:----------|:------------|:-------------------------------------------------------------- |
-| latest<br>9.8.1<br>9.8<br>9 | 3.10.2.1  | ≥ 2.13.1    | latest<br>2.5.0.0<br>2.4.0.0                                   |
-| 9.6.4<br>9.6                | 3.10.1.0  | ≥ 2.13.1    | n/a                                                            |
-| 9.6.3                       | 3.10.1.0  | ≥ 2.13.1    | 2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0                       |
-| 9.4.8<br>9.4                | 3.8.1.0   | ≥ 2.13.1    | 2.5.0.0<br>2.4.0.0                                             |
-| 9.4.7                       | 3.8.1.0   | ≥ 2.13.1    | 2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1            |
-| 9.2.8<br>9.2                | 3.6.2.0   | ≥ 2.13.1    | 2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 |
+| GHC                         | Cabal[^1] | Stack[^1]   | HLS                                                                       |
+|:----------------------------|:----------|:------------|:------------------------------------------------------------------------- |
+| latest<br>9.8.1<br>9.8<br>9 | 3.10.2.1  | ≥ 2.13.1    | latest<br>2.6.0.0<br>2.5.0.0<br>2.4.0.0                                   |
+| 9.6.4<br>9.6                | 3.10.1.0  | ≥ 2.13.1    | 2.6.0.0                                                                   |
+| 9.6.3                       | 3.10.1.0  | ≥ 2.13.1    | 2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0                                  |
+| 9.4.8<br>9.4                | 3.8.1.0   | ≥ 2.13.1    | 2.6.0.0<br>2.5.0.0<br>2.4.0.0                                             |
+| 9.4.7                       | 3.8.1.0   | ≥ 2.13.1    | 2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1                       |
+| 9.2.8<br>9.2                | 3.6.2.0   | ≥ 2.13.1    | 2.6.0.0<br>2.5.0.0<br>2.4.0.0<br>2.3.0.0<br>2.2.0.0<br>2.1.0.0<br>2.0.0.1 |
 
 [^1]: built-in version; see [GHC musl > Version Matrix](../VERSION_MATRIX.md)
 
diff --git a/.devcontainer/ghc-9.2/devcontainer.json b/.devcontainer/ghc-9.2/devcontainer.json
index d0e0ed46048be26c2a48fbe0ac7199fca312873d..63e590ecd03a0b32c2679492294c9f85859eb6ea 100644
--- a/.devcontainer/ghc-9.2/devcontainer.json
+++ b/.devcontainer/ghc-9.2/devcontainer.json
@@ -5,7 +5,7 @@
     "context": "..",
     "args": {
       "GHC_VERSION": "9.2",
-      "HLS_VERSION": "2.5.0.0",
+      "HLS_VERSION": "2.6.0.0",
       "STACK_VERSION": "2.11.1",
       "USE_ZSH_FOR_ROOT": "unset-to-use-ash",
       "SET_LANG": "C.UTF-8",
diff --git a/.devcontainer/ghc-9.4/devcontainer.json b/.devcontainer/ghc-9.4/devcontainer.json
index 07e25213e7593fc9fd8332a4dbdc2a7820f82386..7ac01e0444d75c319a9f3f31db17f9d1767855a4 100644
--- a/.devcontainer/ghc-9.4/devcontainer.json
+++ b/.devcontainer/ghc-9.4/devcontainer.json
@@ -5,7 +5,7 @@
     "context": "..",
     "args": {
       "GHC_VERSION": "9.4",
-      "HLS_VERSION": "2.5.0.0",
+      "HLS_VERSION": "2.6.0.0",
       "USE_ZSH_FOR_ROOT": "unset-to-use-ash",
       "SET_LANG": "C.UTF-8",
       "SET_TZ": ""
diff --git a/.devcontainer/ghc-9.6/devcontainer.json b/.devcontainer/ghc-9.6/devcontainer.json
index b4f3ca9a1dddaf2f442282631ed62a95b303864d..fe17d0e1f3d928dfb1fb0415e47b99a4b4689b4a 100644
--- a/.devcontainer/ghc-9.6/devcontainer.json
+++ b/.devcontainer/ghc-9.6/devcontainer.json
@@ -5,7 +5,7 @@
     "context": "..",
     "args": {
       "GHC_VERSION": "9.6",
-      // "HLS_VERSION": "2.5.0.0",
+      "HLS_VERSION": "2.6.0.0",
       "USE_ZSH_FOR_ROOT": "unset-to-use-ash",
       "SET_LANG": "C.UTF-8",
       "SET_TZ": ""
diff --git a/.devcontainer/ghc-9.8/devcontainer.json b/.devcontainer/ghc-9.8/devcontainer.json
index 1ed9873a5d5b3d42b165827aa22f5b19336c8f42..5d8c84ae51562b81f215c78f699e2f9cb1651bab 100644
--- a/.devcontainer/ghc-9.8/devcontainer.json
+++ b/.devcontainer/ghc-9.8/devcontainer.json
@@ -5,7 +5,7 @@
     "context": "..",
     "args": {
       "GHC_VERSION": "9.8",
-      "HLS_VERSION": "2.5.0.0",
+      "HLS_VERSION": "2.6.0.0",
       "USE_ZSH_FOR_ROOT": "unset-to-use-ash",
       "SET_LANG": "C.UTF-8",
       "SET_TZ": ""
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c98d01745086baa96cf69f30dd1392718afeab39..19850d514ecfbcf22fea668586a223fc3cfebfa0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,8 +3,8 @@
     GHC_VERSION: "9.8.1"
     CABAL_VERSION: "3.10.2.1"
     STACK_VERSION: "2.13.1"
-    HLS_VERSION: "2.5.0.0"
-    BUILD_GHC: "true"
+    HLS_VERSION: "2.6.0.0"
+    BUILD_GHC: "false"
     BUILD_HLS: "true"
     TAG_VERSION_MAJ_MIN: "true"
     TAG_VERSION_MAJ: "false"
diff --git a/packages/hls/2.6.0.0.Dockerfile b/packages/hls/2.6.0.0.Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..97ac6dfb7d2c371edb6e8998223b821fb1c8f15b
--- /dev/null
+++ b/packages/hls/2.6.0.0.Dockerfile
@@ -0,0 +1,45 @@
+ARG GHC_VERSION
+ARG HLS_VERSION=2.6.0.0
+
+FROM glcr.b-data.ch/ghc/ghc-musl:${GHC_VERSION} as builder
+
+ARG HLS_VERSION
+
+RUN apk add --no-cache patchelf findutils \
+  && cd /tmp \
+  && curl -sSL "https://github.com/haskell/haskell-language-server/archive/refs/tags/$HLS_VERSION.tar.gz" \
+    -o "haskell-language-server-$HLS_VERSION.tar.gz" \
+  && tar -xzf "haskell-language-server-$HLS_VERSION.tar.gz" \
+  && cd "haskell-language-server-$HLS_VERSION" \
+  && . .github/scripts/env.sh \
+  && . .github/scripts/common.sh \
+  && sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project \
+  && GHCS="$GHC_VERSION" \
+  && export GHCS \
+  && ARTIFACT="$(uname -m)-linux-alpine" \
+  && export ARTIFACT \
+  && cabal update \
+  && emake hls-ghc \
+  && emake bindist \
+  && strip "out/bindist/$ARTIFACT/haskell-language-server-$HLS_VERSION/lib/$GHC_VERSION"/*.so \
+  && emake bindist-tar
+
+FROM alpine:3.19 as hls
+
+ARG HLS_VERSION
+
+COPY --from=builder /tmp/haskell-language-server-"$HLS_VERSION"/out/haskell-language-server-*-linux-alpine.tar.xz /tmp/
+
+RUN apk add --no-cache build-base \
+  && cd /tmp \
+  && tar -xJf haskell-language-server-"$HLS_VERSION"-*-linux-alpine.tar.xz \
+  && cd haskell-language-server-"$HLS_VERSION" \
+  && make install
+
+FROM scratch
+
+ARG HLS_VERSION
+
+ENV HLS_VERSION=${HLS_VERSION}
+
+COPY --from=hls /usr/local /usr/local