MultiMC: Difference between revisions

From NixOS Wiki
imported>Leo60228
Expand on MSA instructions
imported>LegitMagic
m PolyMC is now marked as insecure and PrismLauncher is the replacement. See nixpkgs issue 196480
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== NOTE ==
Nixpkgs currently packages PrismLauncher, a fork of MultiMC, which currently does not require you, but does allow you, to obtain your own client ID. This information is provided mainly for historical interest.
=== Using a Microsoft account ===
=== Using a Microsoft account ===


Line 15: Line 20:
(multimc.override { msaClientID = "00000000-0000-0000-0000-000000000000"; })
(multimc.override { msaClientID = "00000000-0000-0000-0000-000000000000"; })
</syntaxhighlight>
</syntaxhighlight>
If you use home-manager, you can use the following snippet in your home-manager config:
<syntaxhighlight lang="nix">
  nixpkgs.overlays = [ (self: super: {
    multimc = super.multimc.override {
      msaClientID = "<your application id>";
  };
}
) ];
</syntaxhighlight>
[[Category:Applications]]

Latest revision as of 23:45, 19 October 2022

NOTE

Nixpkgs currently packages PrismLauncher, a fork of MultiMC, which currently does not require you, but does allow you, to obtain your own client ID. This information is provided mainly for historical interest.

Using a Microsoft account

Microsoft authentication requires a client ID, which the package in Nixpkgs does not currently contain.

The MultiMC source contains instructions to create one:

  1. Register an app, following the instructions at https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app (make sure that you've set up a tenant as mentioned in the prerequisites)
  2. Restrict it to personal accounts
  3. Do *not* add a redirect URI, platform, credentials, certificates, or client secrets
  4. Enable public client flows
  5. Enable Live SDK support (under authentication)

You can then override the MultiMC package to include your client ID:

(multimc.override { msaClientID = "00000000-0000-0000-0000-000000000000"; })

If you use home-manager, you can use the following snippet in your home-manager config:

  nixpkgs.overlays = [ (self: super: {
    multimc = super.multimc.override {
      msaClientID = "<your application id>";
   };
 }
 ) ];