Skip to content

docs: cover the Windows target and lgpm --platform - #79

Merged
dlipicar merged 1 commit into
masterfrom
feat/windows-cross
Aug 10, 2026
Merged

docs: cover the Windows target and lgpm --platform#79
dlipicar merged 1 commit into
masterfrom
feat/windows-cross

Conversation

@dlipicar

Copy link
Copy Markdown
Contributor

Documentation for the Windows target and the lgpm --platform flag that cross-installation needs.

Context

L1 of a 30-PR Windows chain. Docs only — no flake, no dependents, so it can land whenever.

What it covers

  • Building for x86_64-windows and what the pseudo-system means (a cross derivation's system attr is its build platform, so nix build .#packages.x86_64-windows.… realises on an x86_64-linux machine).
  • lgpm install --platform windows-x86_64, which exists because lgpm otherwise computes the variant of the machine it is running on — correct, and exactly why cross-installation from the Linux builder was not expressible before.
  • That the override is explicit and never inferred: the fail-closed refusal is what stops a Windows package being installed as a Linux one, and it is worth more than the convenience.

Caveat for the reviewer

Per the repo's tutorial-sync rule, docs here must track the code they describe. The commands documented reflect the branches in this chain, several of which are not merged yet — so some examples will not run against master until the chain lands. Worth deciding whether that is acceptable for a docs-first merge or whether this should move to the end of the order.

The guide had no Windows content at all, and `lgpm` grew a `--platform` flag
(logos-package-manager 1ac7963) that nothing documented. Three additions, all
places the guide already made a claim that is now incomplete or wrong for
Windows:

* The variant-naming table gains `x86_64-windows`, with a note that the spelling
  is `windows-x86_64` and — unlike Linux, which accepts both `linux-x86_64` and
  `linux-amd64` — it has NO alias, so a package labelled `windows-amd64` simply
  will not install.
* 5.1 documents `--platform`, including why the default refusal exists. lgpm
  derives the variant from the machine it runs on and fail-closes otherwise;
  that refusal is the protection against installing a package built for one
  platform onto another, so the opt-out is explicit and never inferred, applies
  to install/list/info alike, and prints to stderr when active.
  With an explicit warning NOT to use it for a dev/portable mismatch: forcing
  that installs a package the runtime cannot load, trading a clear install-time
  error for a confusing load-time one.
* "Cross-platform builds" said to build on each target platform separately.
  That cannot be done for Windows — there is no Nix daemon for Windows, so it is
  cross-built from Linux (or from WSL2, which is Linux) and copied across.

Branched from master rather than the checked-out fix/ui-doctest-launch-timeout
so this carries none of that branch's work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 10, 2026 21:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown

📊 Tutorial execution report

Rendered tutorial alongside the commands actually run and their output (updated each run, commit 9ff8c38):

Pages can take a minute to update after the run finishes.

@dlipicar
dlipicar merged commit fd14aa9 into master Aug 10, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants