diff --git a/README.md b/README.md index 0c9e682b4..66037d9c5 100644 --- a/README.md +++ b/README.md @@ -246,7 +246,7 @@ These packages were mostly recently built (and cached) against: | [wshowkeys](https://github.com/ammgws/wshowkeys) | Displays keys being pressed on a Wayland session | | [wtype](https://github.com/atx/wtype) | xdotool type for wayland | | [xdg-desktop-portal-wlr](https://github.com/emersion/xdg-desktop-portal-wlr) | xdg-desktop-portal backend for wlroots | - + diff --git a/main.nu b/main.nu index 72ef7564f..d40090392 100755 --- a/main.nu +++ b/main.nu @@ -50,6 +50,35 @@ def buildDrv [ drvRef: string ] { $output } +def "main rereadme" [] { + let packageNames = (nix eval --json $".#packages.($system)" --apply 'x: builtins.attrNames x' | str trim | from json) + let pkgList = ($packageNames | where ($it != "default")) + let rows = [ + "| Package | Description |" + "| --- | --- |" + ] + let pkgrows = ($pkgList | each { |packageName| + print -e $packageName + let meta = (do -c { + nix eval --json $".#packages.($system).($packageName).meta" | str trim | from json + }) + let home = (if "homepage" in ($meta | transpose | get column0) { + $meta.homepage + } else { "__missing__" }) + ($"| [($packageName)]\(($home)\) | ($meta.description) |") + }) + let tableText = ([ $rows $pkgrows ] | flatten | str join "\n") + + print -e $tableText + + ^rg --multiline '(?s)(.*)(.*)(.*)' "README.md" --replace $"\$1($tableText)\$3" | save --raw README2.md + mv README2.md README.md + + (do -c { + ^git commit -m "auto-update: updated readme" "./README.md" + }) +} + def "main build" [] { buildDrv $"packages.($system)" } @@ -69,7 +98,8 @@ def "main update" [] { ./pkgs-update.nu } main build - ^git commit -m "auto-update: updated readme" + main rereadme + ^git push origin HEAD }) }