Nexium v1.2.1 — Annapurna: de Noyelle
Nexium v1.2.1 — Annapurna: de Noyelle
Annapurna: de Noyelle — the expedition's liaison officer, whose whole job was permits and diplomacy: this patch is the roads in. pip install nexium-lang and npm install nexium-lang are real, the extension is on Open VSX, the package is on Chocolatey and submitted to winget, every release attaches Debian and RPM packages and signed provenance for each asset, a Nix flake and a dev container open the repository anywhere, nx completions and nx man come from the compiler, the site has an API, and the Topo is a course of twenty-five exercises graded by the compiler. The workflows are pinned to commits and their tokens are read-only outside the publishing jobs. The seed is regenerated from the final sources.
Added
nx completions bash|zsh|fish|powershellandnx man, generated from one table of the commands and the options. The release archives carrynx.1andcompletions/, the install script and the Homebrew formula put them in place, the Debian, RPM and Nix packages install them.- Debian and RPM packages (
nexium_<version>_<arch>.deb,.rpm, amd64 and arm64) attached to every release, built by nfpm and installed in the release job as their test; a Nix flake (nix run github:Londopy/nexium) built from the one C file, checked in CI; a dev container on the Docker image, so the repository opens in a Codespace withnxready; mise through itsubibackend, documented. - The site's API:
api/latest.json(the current release and every asset's URL),api/releases.json,api/std.json(every module and public function with its doc),api/topo.json,api/commands.jsonandapi/index.json, written by the site builder at each deploy (docs/api.md). - A Pygments lexer for Nexium inside the wheel (
pip install nexium-langmakesnexiuma language Pygments knows:pygmentize -l nexium, Sphinx, MkDocs, Jupyter); the AUR packagenexium-bin(installers/aur/, written at each release); a tldr page (docs/tldr/nx.md, submitted to tldr-pages). - Signed provenance for every release asset (
gh attestation verify <file> --owner Londopy), the OpenSSF Scorecard workflow and badge, the site'ssecurity.txt,robots.txtandsitemap.xml,CITATION.cff, and.pre-commit-hooks.yamlwithnx fmtandnx checkhooks. pip install nexium-langis real: the wheels every release builds reach PyPI through trusted publishing (.github/workflows/pypi.yml, no token), when the Release workflow finishes or by hand for a tag. The npm packages have the same workflow (npm.yml, with provenance), a token for a package's first publish and npm's trusted publishing after. The VS Code extension is on Open VSX and the Chocolatey package in its moderation queue (extension.yml,chocolatey.ymlpublish a release's by hand), andLondopy.Nexiumis submitted to winget. The install doc's "Where to get it" table links every registry; the README carries their badges.- The Topo is a course: twenty-five exercises of five kinds (fill in the blank, fix the error, write it, make the tests pass, predict the output) and four quizzes at the end of chapters 2 to 16, graded by the compiler.
nx toporuns it in the terminal (the route map with progress,nx topo <chapter>writing the exercises to work on,check,hint,solution,quiz,reset; progress kept beside the update cache, or whereNX_TOPO_PROGRESSsays), and the site shows the same exercises with the solutions folded away, a "done" box per exercise kept in the browser and the count on every chapter link. The harness runs every solution, every starter's failure and a whole chapter throughnx topo.nx fmtspaces the hole of an exercise (???) like a word, so formatting a starter in the editor leaves it as written.
Fixed
- The Release workflow pushed to Chocolatey from inside the Windows build and published the extension from the release job, so a registry's refusal failed the build and no release was made (Chocolatey returns 403 for every version after a package's first until that one is approved). The registries are their own workflows now, run when a release finishes:
chocolatey.ymlandextension.ymlbesidepypi.ymlandnpm.yml, each failing alone and rerunnable by hand for a tag. - Rule V3 reported a view into one field of a struct as stale when another field of the same struct grew (
for row in lv.rows { lv.origins.append(..) }), found in Point of Origin's level compiler. An origin remembers the first field on its path and a change the field it touched; they meet only when one is the whole value or both are the same field (spec cases5_views_by_field).
Security
- Every GitHub Action the workflows use is pinned to a commit, with its version in a comment that Dependabot keeps current, and the Docker base images to a digest, so a moved tag cannot change what a workflow runs. Each workflow's token is read-only except in the one job that publishes (the release, the images, the numbers branch, the CLA signatures).
install.shchecks a downloaded Zig against checksums it carries rather than ones fetched beside the archive. The VS Code extension's packaging tool moved to@vscode/vsce3.9, whosemarkdown-itandlinkify-itcarry the fixes for their quadratic-time advisories (a build-time dependency; nothing shipped was affected).
Install
Windows: run nexium-1.2.1-setup-x64.exe. It installs nx, a bundled Zig toolchain (the C compiler nx uses), the standard library, examples, docs, and the VS Code extension, and can add nx to your PATH. No other install is needed. A portable zip without the installer is nx-v1.2.1-aarch64-pc-windows-msvc.zip.
macOS and Linux:
curl -fsSL https://raw.githubusercontent.com/Londopy/nexium/main/installers/install.sh | shThis downloads nx-v1.2.1-aarch64-apple-darwin.tar.gz or nx-v1.2.1-x86_64-unknown-linux-gnu.tar.gz, verifies it against SHA256SUMS.txt, installs to ~/.nexium/bin, downloads Zig on Linux when no C compiler is present (macOS uses the Xcode command line tools), and adds the directory to your PATH. Set NEXIUM_VERSION=v1.2.1 to pin this release.
From source: sh bootstrap/build.sh with a C compiler (Zig, or cc on macOS) builds the compiler from its C seed; no Rust is needed.
VS Code: install nexium-v1.2.1.vsix with Extensions: Install from VSIX..., or let the Windows installer do it.
Then, in a new console:
nx doctor
nx run examples/hello.nx
Files
| file | size | SHA-256 |
|---|---|---|
nexium-1.2.1-1.aarch64.rpm |
1.5 MB | 3a5b4ab2db7a9127dcae2a1e111dda3025492d50a1763bd0187f0ff8dbf51b13 |
nexium-1.2.1-1.x86_64.rpm |
1.5 MB | 9bd91aa0508327eb4e703f5995b9302b674ab20686095100edf06d4d667323f2 |
nexium-1.2.1-setup-x64.exe |
49.7 MB | d759a51ccef292939dedee88a34836b501302492947c6f63158ba5e1e1567f3f |
nexium-lang-1.2.1.tgz |
11.1 KB | 306bf323643a04ec502cafc9a5f01c1ff300d1664f420cc0affa24e76c4bb3b2 |
nexium-lang-darwin-arm64-1.2.1.tgz |
1.1 MB | d6c2cec9f585f7682810b53adea2129fc1913044a40962ead3c1dee5f190485b |
nexium-lang-linux-arm64-1.2.1.tgz |
1.3 MB | c7894e5adc4d9fa383400f0a16a5e8c78392d2336229f3582c64c5ca5090e0df |
nexium-lang-linux-x64-1.2.1.tgz |
1.3 MB | 8a14e88d2444357ad173a38ce852a1c533ea42cf34a601b3999b67441e7538b7 |
nexium-lang-win32-arm64-1.2.1.tgz |
1.2 MB | fc77bbae5df9b262f7a6f019221fe232d594c99ea431d82d6a519c1e325efb1c |
nexium-lang-win32-x64-1.2.1.tgz |
1.4 MB | dc8421b22cd5e313287282fd1fd7acee369768a5da6b159d60a3214221421def |
nexium-v1.2.1.vsix |
30.6 KB | dd5aae2182877d3fdcab96d762c5348ebb29bbed10fa9af7a12d7734104dbafd |
nexium.1.2.1.nupkg |
3.3 KB | d66c829de85cbfabf221537ae42e18a4f1a513fb7453865ae91b0595da2084e2 |
nexium_1.2.1_amd64.deb |
1.5 MB | 5479dc7f640cc6ea63d2554c8de419c85ec2700fb18ea252bedafd9ded5a8952 |
nexium_1.2.1_arm64.deb |
1.5 MB | 816e89c009ebf14a98f64f709d1a2b574d4dfff30f4cb269a7011b9d5e043af2 |
nexium_lang-1.2.1-py3-none-macosx_11_0_arm64.whl |
1.1 MB | 709f1c52af0b3e102c929dc46b2155b1dc35b70b8e926d2150529d7c4b429342 |
nexium_lang-1.2.1-py3-none-manylinux_2_17_aarch64.whl |
1.2 MB | 471ca017186a0ef14a30d770d069fa323ed742d1b8197f522641b994e1f5bae9 |
nexium_lang-1.2.1-py3-none-manylinux_2_17_x86_64.whl |
1.3 MB | 46a4ac6fc5a0c81fd2764a61c45291af2915547e163a0b9dc8775da40aa58d92 |
nexium_lang-1.2.1-py3-none-win_amd64.whl |
1.3 MB | d6b5e2f9475cb47526defdda49d961d99a79b5ffa6b0f28dc7b7e76d5ffed489 |
nexium_lang-1.2.1-py3-none-win_arm64.whl |
1.2 MB | c2617c7ec1bcc07fb0c75fd97ac0e7e2160d2231e1859ab39529bad2783d5872 |
nx-v1.2.1-aarch64-apple-darwin.tar.gz |
1.3 MB | 61402f49a3536bab4731e1643d36b6e393fbe9500b5469e4cf175784764a6ec6 |
nx-v1.2.1-aarch64-pc-windows-msvc.zip |
1.5 MB | 9e3da9dabc61a58bd0170c12a7bd52ec6439c6ca9efd8824adbcd81ce807320f |
nx-v1.2.1-aarch64-unknown-linux-gnu.tar.gz |
1.5 MB | 0c8641574569b9083ea94f69e43520da102d58b6961c8c1572eb597cfb88dc6c |
nx-v1.2.1-x86_64-pc-windows-msvc.zip |
1.7 MB | 4e330f3d20c148955238422c7e3cb113a0e335804fb51beb1295e075fd978e0b |
nx-v1.2.1-x86_64-unknown-linux-gnu.tar.gz |
1.5 MB | 2938cd36d0a0e3dc59bc8f1efb0f5d33bb3b040b782d8c9f2bb2319527a2e736 |
SHA256SUMS.txt holds the same values. Verify a download with:
sha256sum -c SHA256SUMS.txt --ignore-missing # Linux
shasum -a 256 -c SHA256SUMS.txt --ignore-missing # macOSGet-FileHash .\nexium-1.2.1-setup-x64.exe -Algorithm SHA256 # Windows, compare with the tableTorrents
Every file above is also a .torrent, with its GitHub download as the web seed: a BitTorrent client fetches it from GitHub when no peer has it, and from peers when they do. The magnet links carry the same web seed; scan the code or copy the link below.
Magnet links
# nexium-1.2.1-1.aarch64.rpm
magnet:?xt=urn:btih:4952b23ae65723d17679d08c4078de9aca051d50&dn=nexium-1.2.1-1.aarch64.rpm&xl=1532822&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-1.2.1-1.aarch64.rpm
# nexium-1.2.1-1.x86_64.rpm
magnet:?xt=urn:btih:1b7e1e269f464b7e556df46de185f295fc76002a&dn=nexium-1.2.1-1.x86_64.rpm&xl=1568188&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-1.2.1-1.x86_64.rpm
# nexium-1.2.1-setup-x64.exe
magnet:?xt=urn:btih:a5855499bc93742b30c152bb6eaebd1ed33adcd9&dn=nexium-1.2.1-setup-x64.exe&xl=52082588&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-1.2.1-setup-x64.exe
# nexium-lang-1.2.1.tgz
magnet:?xt=urn:btih:f5e2e875bd4454dd3ce85b4e98f474adb281a572&dn=nexium-lang-1.2.1.tgz&xl=11317&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-lang-1.2.1.tgz
# nexium-lang-darwin-arm64-1.2.1.tgz
magnet:?xt=urn:btih:4a77bf0b83a2a0702dbf79e9a53717643a59ecfb&dn=nexium-lang-darwin-arm64-1.2.1.tgz&xl=1191023&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-lang-darwin-arm64-1.2.1.tgz
# nexium-lang-linux-arm64-1.2.1.tgz
magnet:?xt=urn:btih:ccaa0aa19d5dd1c6f3f3b039af85fa4e7597744e&dn=nexium-lang-linux-arm64-1.2.1.tgz&xl=1313424&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-lang-linux-arm64-1.2.1.tgz
# nexium-lang-linux-x64-1.2.1.tgz
magnet:?xt=urn:btih:b9f63ab8e67fb95233d9a349ab34f4f5af4c648b&dn=nexium-lang-linux-x64-1.2.1.tgz&xl=1347364&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-lang-linux-x64-1.2.1.tgz
# nexium-lang-win32-arm64-1.2.1.tgz
magnet:?xt=urn:btih:89c1c2f58af62115b7a0a56345dadaa7ee0813c3&dn=nexium-lang-win32-arm64-1.2.1.tgz&xl=1292560&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-lang-win32-arm64-1.2.1.tgz
# nexium-lang-win32-x64-1.2.1.tgz
magnet:?xt=urn:btih:09a015a943d4109e43fa4c74205cfb3f5657baf3&dn=nexium-lang-win32-x64-1.2.1.tgz&xl=1420218&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-lang-win32-x64-1.2.1.tgz
# nexium-v1.2.1.vsix
magnet:?xt=urn:btih:2f902d2efcab455e0e1f471902b0de46d2d561ef&dn=nexium-v1.2.1.vsix&xl=31324&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium-v1.2.1.vsix
# nexium.1.2.1.nupkg
magnet:?xt=urn:btih:ef88610520229ceaed18049c0181217a6148c508&dn=nexium.1.2.1.nupkg&xl=3421&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium.1.2.1.nupkg
# nexium_1.2.1_amd64.deb
magnet:?xt=urn:btih:c330fb0a472d02211e144f2eabcd955d2f415e5b&dn=nexium_1.2.1_amd64.deb&xl=1573132&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium_1.2.1_amd64.deb
# nexium_1.2.1_arm64.deb
magnet:?xt=urn:btih:c61a51c8f319429d50dff47fbca644e92011436b&dn=nexium_1.2.1_arm64.deb&xl=1545412&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium_1.2.1_arm64.deb
# nexium_lang-1.2.1-py3-none-macosx_11_0_arm64.whl
magnet:?xt=urn:btih:173a899ae93b9b1c9141fccb89ed8cbba5e84fed&dn=nexium_lang-1.2.1-py3-none-macosx_11_0_arm64.whl&xl=1163556&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium_lang-1.2.1-py3-none-macosx_11_0_arm64.whl
# nexium_lang-1.2.1-py3-none-manylinux_2_17_aarch64.whl
magnet:?xt=urn:btih:cfbed5beceeb6ad58f7757533d02292d643d6c81&dn=nexium_lang-1.2.1-py3-none-manylinux_2_17_aarch64.whl&xl=1284487&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium_lang-1.2.1-py3-none-manylinux_2_17_aarch64.whl
# nexium_lang-1.2.1-py3-none-manylinux_2_17_x86_64.whl
magnet:?xt=urn:btih:7be3f8bf9715d2060875452d7db983d8bf44c7fa&dn=nexium_lang-1.2.1-py3-none-manylinux_2_17_x86_64.whl&xl=1343118&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium_lang-1.2.1-py3-none-manylinux_2_17_x86_64.whl
# nexium_lang-1.2.1-py3-none-win_amd64.whl
magnet:?xt=urn:btih:4400e0a69fa261832a9610c5d36fbcafb20556e1&dn=nexium_lang-1.2.1-py3-none-win_amd64.whl&xl=1415256&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium_lang-1.2.1-py3-none-win_amd64.whl
# nexium_lang-1.2.1-py3-none-win_arm64.whl
magnet:?xt=urn:btih:92131a7fc37fdae3195a5725fdb386eeb8f9bfb5&dn=nexium_lang-1.2.1-py3-none-win_arm64.whl&xl=1264149&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnexium_lang-1.2.1-py3-none-win_arm64.whl
# nx-v1.2.1-aarch64-apple-darwin.tar.gz
magnet:?xt=urn:btih:c27e616375736d8f141fbddde557d1a9ea76ecb2&dn=nx-v1.2.1-aarch64-apple-darwin.tar.gz&xl=1411496&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnx-v1.2.1-aarch64-apple-darwin.tar.gz
# nx-v1.2.1-aarch64-pc-windows-msvc.zip
magnet:?xt=urn:btih:2ff0ee4d6545a353080c4ff8aa9dbaa8a15c89f9&dn=nx-v1.2.1-aarch64-pc-windows-msvc.zip&xl=1566249&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnx-v1.2.1-aarch64-pc-windows-msvc.zip
# nx-v1.2.1-aarch64-unknown-linux-gnu.tar.gz
magnet:?xt=urn:btih:15d132b7767a44cf03562aa279481d6cdbe705b9&dn=nx-v1.2.1-aarch64-unknown-linux-gnu.tar.gz&xl=1537843&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnx-v1.2.1-aarch64-unknown-linux-gnu.tar.gz
# nx-v1.2.1-x86_64-pc-windows-msvc.zip
magnet:?xt=urn:btih:b8dd40f6d8fcfbb0fa4952e97fba5ccc4bc5c48d&dn=nx-v1.2.1-x86_64-pc-windows-msvc.zip&xl=1733191&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnx-v1.2.1-x86_64-pc-windows-msvc.zip
# nx-v1.2.1-x86_64-unknown-linux-gnu.tar.gz
magnet:?xt=urn:btih:e7bda46d6d6e0069666f7bda3bf13cb640ab87ec&dn=nx-v1.2.1-x86_64-unknown-linux-gnu.tar.gz&xl=1599930&ws=https%3A%2F%2Fgithub.com%2FLondopy%2Fnexium%2Freleases%2Fdownload%2Fv1.2.1%2Fnx-v1.2.1-x86_64-unknown-linux-gnu.tar.gz
Requirements
- Windows 10 or later, x64. macOS on Apple Silicon. Linux x86_64 with glibc. Builds for aarch64 Linux and Windows on ARM are attached too; they are tier 2 (built, not tested in CI; see docs/platforms.md).
- A C compiler is needed to build programs: the Windows installer and the macOS/Linux script take care of it. Otherwise put Zig on your PATH, or set
NX_CC.






















