Before we start, first two notes:

The Ledger Monero App is available for both the Ledger Nano S and the Ledger Nano X. If you are using Windows or Mac OS X and run active AV (AntiVirus) software, the AV software will likely quarantine the binaries (i.e. the .zip file (Windows) or .tar.bz2 file (Mac OS X)) you download from the downloads page of the official website. To resolve this issue, I'd advise to use this guide.

In addition, we have to ensure that we're sufficiently prepared. This entails the following:

Windows

This guide assumes you have already initialized your Ledger device and thus generated a 24 word mnemonic seed. You need to run / use GUI v0.16.0.0, which can be found here, on the downloads page of the official website, or on Github. You need to install the Ledger Monero app. Your Ledger needs to be plugged in and the Ledger Monero app should be running.

Mac OS X

This guide assumes you have already initialized your Ledger device and thus generated a 24 word mnemonic seed. You need to run / use GUI v0.16.0.0, which can be found here, on the downloads page of the official website, or on Github. You need to install the Ledger Monero app. Your Ledger needs to be plugged in and the Ledger Monero app should be running.

Linux

This guide assumes you have already initialized your Ledger device and thus generated a 24 word mnemonic seed. You need to run / use GUI v0.16.0.0, which can be found here, on the downloads page of the official website, or on Github. You need to install the Ledger Monero app. You may have to add some udev-rules. A script can be found here. Your Ledger needs to be plugged in and the Ledger Monero app should be running.

Now that we're sufficiently prepared, let's start! Note that the following instructions are general. If anything is OS specific I'll mention it explicitly.

Browse to the directory / folder GUI v0.16.0.0 is located. Open v0.16.0.0 monero-wallet-gui.app (Mac OS X) or monero-wallet-gui.exe (Windows) or monero-wallet-gui (Linux). If it tries to open an existing wallet, click on the Cancel button. This will bring you back to the wizard. On the first page of the wizard, select your desired language. On the second page of the wizard, you will have to select a mode. There are three modes, namely Simple mode , Simple mode (bootstrap) and Advanced . In Simple mode mode, the GUI wallet will automatically connect to a remote node and have a simple interface. This mode excludes the need for the blockchain sync and ensures you can immediately use the wallet. However, it weakens your privacy insofar as the remote node will be able to see your IP address as well as associate any of your transactions with your IP address. Besides, using a remote node does not contribute to the strength and decentralization of the network.

mode, the GUI wallet will automatically connect to a remote node and have a simple interface. This mode excludes the need for the blockchain sync and ensures you can immediately use the wallet. However, it weakens your privacy insofar as the remote node will be able to see your IP address as well as associate any of your transactions with your IP address. Besides, using a remote node does not contribute to the strength and decentralization of the network. In Simple mode (bootstrap) mode, the wallet automatically connects to a remote node whilst syncing your own (local) node in the background. The wallet will subsequently switch to your own (local) node once it is fully synced. This allows you to immediately use the wallet while still eventually using your own (local) node (which is optimal for privacy and contributes to the strength and decentralization of the network). Additionally, this mode has a simple interface as well. This mode is the default and is thus recommended by the developers for new users.

(bootstrap) mode, the wallet automatically connects to a remote node whilst syncing your own (local) node in the background. The wallet will subsequently switch to your own (local) node once it is fully synced. This allows you to immediately use the wallet while still eventually using your own (local) node (which is optimal for privacy and contributes to the strength and decentralization of the network). Additionally, this mode has a simple interface as well. In Advanced mode, you will perform the blockchain sync from scratch (which may take from 10-14 hours (with an SSD) to several days to complete (with an HDD) and requires approximately 75 GB of free disk space) without connecting to a remote node. Advanced mode also contains all features that were deemed as advanced by the developers (and thus were left out of the simple mode). Note that you won't be able to properly use your wallet until the blockchain sync from scratch has been completed. Lastly, Advanced mode allows you to customly set a remote node (in case you, for instance, want to connect to your own remote node). On the third page of the wizard, choose Create a new wallet from hardware device Enter a new Wallet name Make sure the Create a new wallet from device option is selected. Make sure the Device name is set to Ledger Go to the next page. The Ledger will ask whether you want to export the private view key or not. First and foremost, your funds cannot be compromised with merely the private view key. Exporting the private view key enables the client (on the computer - Monero v0.16.0.0) to scan blocks looking for transactions that belong to your wallet / address. If this option is not utilized, the device (Ledger) will scan blocks, which will be significantly slower. There is, however, one caveat. That is, if your system gets compromised, the adversary will potentially be able to compromise your private view key as well, which is detrimental to privacy. This is virtually impossible when the private view key is not exported. You may have to hit confirm twice before it proceeds. Your Ledger Monero wallet will now be generated. Note that this may take up to a few minutes. Furthermore, there will be no immediate feedback in the GUI nor on the Ledger. Enter a password for your wallet. Note: this password is not required / needed to recover the Ledger Monero wallet. Proceed to the next page, which will provide an overview (note: there will be an additional setup page in case you chose Advanced mode, please see the Addendum). Press Use Monero . Congratulations, you can now use your Ledger Monero wallet in conjunction with the GUI.

Addendum: (in case Advanced mode was chosen)

On the Daemon settings page you basically have three options. First, you can simply run a local node. This entails performing the full blockchain sync, which may take from 10-14 hours (with an SSD) to several days to complete (with an HDD). Second, you can run a local node and make use of a bootstrap node. This also entails performing the full blockchain sync. However, this option allows you to immediately use the wallet whilst your local node performs the initial blockchain sync in the background. Third, you can use a remote node, which allows you to immediately use the wallet. Using your own (local) node is most advantageous with respect to privacy and security plus it contributes to the strength and decentralization of the network. It, however, requires approximately 60 GB of free space. Furthermore, performing the initial blockchain sync is quite resource intensive and may cause the GUI to feel laggy / buggy. Although, this can be mitigated by applying this guide. Now, practically speaking, you can choose option 1 by leaving all boxes blank and, optionally, specifying a custom Blockchain location . Option 2 is chosen by entering a remote node (a list of remote nodes can be found here in the Bootstrap node box. Option 3 is chosen by first ticking the Connect to a remote node box and subsequently entering a remote node (to reiterate, a list of remote nodes can be found here.

A few final notes:

I'd strongly advise to test the full process first. That is, send a small amount to the wallet and subsequently restore it (using aforementioned guide) to verify that you can recover the wallet. The wallet files are, by default, stored in /Users/<username>/Monero/<wallet-name> (Mac OS X) or Documents\Monero\<wallet-name> (Windows) or /home/<username>/Monero/<wallet-name> (Linux). The .keys wallet file stored on your system contains some settings related to the wallet, your public keys, and your private view key in case you exported it. It does not contain your private spend key. Put differently, the private spend key remains on the Ledger device. You only have to use this guide once (i.e. upon wallet creation). Thereafter, you'd basically use it similar to how you normally use the GUI. That is:

[1] Make sure your Ledger is plugged in and the Monero app is running.

[2] Open GUI v0.16.0.0

[3] Enter the password to open the wallet.

[4] Optionally export the private view key on the Ledger device.

It's imperative that the closing process of your Ledger Monero wallet is done in this specific consecutive order:

[1] Exit the GUI by clicking on the x (right top).

[2] Exit the Ledger Monero app.

[3] Unplug the Ledger device.