From e82b63aa1170995b55c43c95e8f1f25213f22e72 Mon Sep 17 00:00:00 2001
From: jiriks74 <jiri@stefka.eu>
Date: Fri, 13 Dec 2024 14:02:34 +0100
Subject: [PATCH 1/4] fix: Use custom action for updating `flake.lock`

---
 .github/workflows/update.yml | 60 +++++++++++++++++++++++++++++-------
 1 file changed, 49 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml
index b4796b9..35834a2 100644
--- a/.github/workflows/update.yml
+++ b/.github/workflows/update.yml
@@ -14,17 +14,55 @@ jobs:
         uses: https://github.com/DeterminateSystems/nix-installer-action@main
       - name: Setup Action cache for nix
         uses: https://github.com/DeterminateSystems/magic-nix-cache-action@main
-        with:
-          fail-mode: true
+
       - name: Update flake.lock
-        uses: https://github.com/DeterminateSystems/update-flake-lock@main
+        id: update
+        run: |
+          nix flake update 2>&1 | awk '
+            /^• Updated input/ {in_update = 1; print; next}
+            in_update && !/^warning:/ {print}
+            /^$/ {in_update = 0}
+          ' | tee update.log
+
+          LOG=$(cat update.log)
+
+          LOG="${LOG//'%'/'%25'}"
+          LOG="${LOG//$'\n'/'%0A'}"
+          LOG="${LOG//$'\r'/'%0D'}"
+
+          echo "update_log=${LOG}" >> $GITHUB_OUTPUT
+
+          cat << EOF >> ../body.md
+          - The following Nix Flake inputs were updated
+
+          \`\`\`
+          EOF
+
+          cat update.log >> ../body.md
+
+          cat << EOF >> ../body.md
+          \`\`\`
+
+          Auto-generated by [update.yml][1] with the help of
+          [create-pull-request][2]
+
+          [1]: https://forgejo.stefka.eu/jiriks74/action-update_flake_lock
+          [2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
+          EOF
+
+          rm update.log
+
+      - name: Create Pull Request
+        id: create-pull-request
+        uses: https://forgejo.stefka.eu/jiriks74/create-pull-request@9791a4f146d5369620ea3b934822e717d3d90034
+        body-path: ../body.md
         with:
-          # inputs: dzgui dzgui-testing # We'll see whether I want to limit the updates to dzgui
-          token: ${{ secrets.FORGEJO_TOKEN_FOR_UPDATES }}
-          pr-title: "Update flake.lock"
-          pr-assignees: jiriks74
-          pr-labels: |
-            flake.lock
-            automated
+            token: ${{ secrets.FORGEJO_TOKEN_FOR_UPDATES  }}
+            commit-message: Update `flake.lock`
+            title: Update `flake.lock`
+            
+            branch: update-flake-lock
       - name: Print PR number
-        run: echo Pull request number is ${{ steps.update.outputs.pull-request-number }}.
+        run: |
+          echo "Pull request number is ${{ steps.create-pull-request.outputs.pull-request-number }}."
+          echo ${{ steps.update.output.update_log }}

From a4113fe7546c8afd6deff875b1f5120d3359c2de Mon Sep 17 00:00:00 2001
From: jiriks74 <+jiriks74@users.noreply.github.com>
Date: Sun, 15 Dec 2024 02:39:17 +0000
Subject: [PATCH 2/4] Update `flake.lock`

---
 flake.lock | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/flake.lock b/flake.lock
index 825b71f..964ffd0 100644
--- a/flake.lock
+++ b/flake.lock
@@ -181,11 +181,11 @@
     },
     "nixpkgs_2": {
       "locked": {
-        "lastModified": 1732521221,
-        "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
+        "lastModified": 1733940404,
+        "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
+        "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
         "type": "github"
       },
       "original": {
@@ -198,11 +198,11 @@
     "presence-nvim": {
       "flake": false,
       "locked": {
-        "lastModified": 1728312592,
+        "lastModified": 1734057239,
         "narHash": "sha256-NuoXsCOA5Uz7XOtC5B1pIXLytLaod6wUzrE+m5uEHcs=",
         "owner": "jiriks74",
         "repo": "presence.nvim",
-        "rev": "df0a0b52cd0799e99d1b76805d1357ae9c0d017d",
+        "rev": "c850b9e245f310e040478ab54808c7ce098919ed",
         "type": "github"
       },
       "original": {

From ad28de78af451a98e4378608e18b0726a59d8ab8 Mon Sep 17 00:00:00 2001
From: jiriks74 <jiri@stefka.eu>
Date: Fri, 13 Dec 2024 14:02:34 +0100
Subject: [PATCH 3/4] fix: Use custom action for updating `flake.lock`

---
 .github/workflows/update.yml | 76 ++++++++++++++++++++++++++++++------
 1 file changed, 65 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml
index b4796b9..4f3751e 100644
--- a/.github/workflows/update.yml
+++ b/.github/workflows/update.yml
@@ -14,17 +14,71 @@ jobs:
         uses: https://github.com/DeterminateSystems/nix-installer-action@main
       - name: Setup Action cache for nix
         uses: https://github.com/DeterminateSystems/magic-nix-cache-action@main
-        with:
-          fail-mode: true
+
       - name: Update flake.lock
-        uses: https://github.com/DeterminateSystems/update-flake-lock@main
+        id: update
+        run: |
+          nix flake update 2>&1 | awk '
+            /^• Updated input/ {in_update = 1; print; next}
+            in_update && !/^warning:/ {print}
+            /^$/ {in_update = 0}
+          ' | tee update.log
+
+          LOG=$(cat update.log)
+
+          LOG="${LOG//'%'/'%25'}"
+          LOG="${LOG//$'\n'/'%0A'}"
+          LOG="${LOG//$'\r'/'%0D'}"
+
+          echo $LOG
+
+          echo "update_log=${LOG}" >> $GITHUB_OUTPUT
+
+          rm update.log
+
+      - name: Write PR body template
+        uses: https://github.com/DamianReeves/write-file-action@v1.3
         with:
-          # inputs: dzgui dzgui-testing # We'll see whether I want to limit the updates to dzgui
-          token: ${{ secrets.FORGEJO_TOKEN_FOR_UPDATES }}
-          pr-title: "Update flake.lock"
-          pr-assignees: jiriks74
-          pr-labels: |
-            flake.lock
-            automated
+          path: pr_body.template
+          contents: |
+            - The following Nix Flake inputs were updated:
+
+            ```
+            ${{ steps.update.output.update_log }}
+            ```
+
+            Auto-generated by [update.yml][1] with the help of
+            [create-pull-request][2]
+
+            [1]: https://forgejo.stefka.eu/jiriks74/nix.nvim/src/branch/main/.github/workflows/update.yml
+            [2]: https://forgejo.stefka.eu/jiriks74/create-pull-request
+
+      - name: Generate PR body
+        uses: pedrolamas/handlebars-action@2995d7eadacbc8f2f6ab8431a01d84a5fa3b8bb4 # v2.4.0
+        with:
+          files: "pr_body.template"
+          output-filename: "pr_body.md"
+      - name: Save the PR body
+        id: pr_body
+        uses: juliangruber/read-file-action@v1
+        with:
+          path: "pr_body.md"
+
+      - name: Remove temporary files
+        run: |
+          rm pr_body.template
+          rm pr_body.md
+
+      - name: Create Pull Request
+        id: create-pull-request
+        uses: https://forgejo.stefka.eu/jiriks74/create-pull-request@9791a4f146d5369620ea3b934822e717d3d90034
+        body: ${{ steps.pr_body.outputs.content }}
+        with:
+            token: ${{ secrets.FORGEJO_TOKEN_FOR_UPDATES  }}
+            commit-message: Update `flake.lock`
+            title: Update `flake.lock`
+            
+            branch: update-flake-lock
       - name: Print PR number
-        run: echo Pull request number is ${{ steps.update.outputs.pull-request-number }}.
+        run: |
+          echo "Pull request number is ${{ steps.create-pull-request.outputs.pull-request-number }}."

From 532296f80d719b42d18e14b6293e4887c91d1788 Mon Sep 17 00:00:00 2001
From: jiriks74 <+jiriks74@users.noreply.github.com>
Date: Sun, 15 Dec 2024 02:52:14 +0000
Subject: [PATCH 4/4] Update `flake.lock`

---
 flake.lock | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/flake.lock b/flake.lock
index 825b71f..964ffd0 100644
--- a/flake.lock
+++ b/flake.lock
@@ -181,11 +181,11 @@
     },
     "nixpkgs_2": {
       "locked": {
-        "lastModified": 1732521221,
-        "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
+        "lastModified": 1733940404,
+        "narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
+        "rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713",
         "type": "github"
       },
       "original": {
@@ -198,11 +198,11 @@
     "presence-nvim": {
       "flake": false,
       "locked": {
-        "lastModified": 1728312592,
+        "lastModified": 1734057239,
         "narHash": "sha256-NuoXsCOA5Uz7XOtC5B1pIXLytLaod6wUzrE+m5uEHcs=",
         "owner": "jiriks74",
         "repo": "presence.nvim",
-        "rev": "df0a0b52cd0799e99d1b76805d1357ae9c0d017d",
+        "rev": "c850b9e245f310e040478ab54808c7ce098919ed",
         "type": "github"
       },
       "original": {