Setting up a new computer: install all your apps at once on Windows, Mac and Linux

A new laptop, a reinstalled Windows, a Mac handed down from someone else: the operating system takes twenty minutes, and then comes the part that eats the afternoon. Find the official download page for each app, dodge the look-alike download buttons, click through a setup wizard, untick an offer for a browser toolbar, wait, and repeat fifteen times. There is a much faster way that every modern system already supports — a package manager — and this guide explains how it works on Windows, macOS and Linux, how to use the App Installer here to install everything in one go, and what to do when something goes wrong.

Why installing apps one by one is slow — and risky

Each app costs a search, a download page and an installer. The time adds up, but the bigger problem is what can go wrong at each step. Search ads for popular free apps are a long-running channel for malware, because a convincing fake download page only has to fool you once. Third-party download sites repackage installers with extra offers. And an installer downloaded from an old bookmark may be months out of date, so the first thing the new app does is ask to update itself.

None of this is your fault; it is a consequence of every app having its own website and its own installer. Package managers fix it by putting the knowledge in one place.

Package managers: the app catalog your computer already has

A package manager keeps a catalog that says, for each app, where its official installer lives, what its checksum should be, and how to run it without the wizard. You ask for apps by name; it downloads each one from the vendor, checks the file, installs it silently, and can later update everything with one command. Phones have worked this way for years through their app stores. Desktops have the same machinery — it is just less visible.

SystemPackage managerWhere it comes from
Windows 10 and 11wingetBuilt in, as part of Microsoft’s “App Installer”; its catalog is a public repository anyone can inspect
macOSHomebrewNot made by Apple, but the standard way developers and power users install Mac apps; set up with one command
Linux (any distribution)Flatpak, with the Flathub catalogPreinstalled on Fedora and Linux Mint, one command away on Ubuntu; distributions also have their own (apt, dnf, pacman, zypper)

On Windows, Microsoft documents winget as available on Windows 10 version 1809 and later, and every app in its community catalog is described by a manifest in the winget-pkgs repository, including the SHA-256 checksum the downloaded installer must match. On macOS, Homebrew calls desktop apps “casks” and command-line tools “formulae”. On Linux, Flathub hosts sandboxed apps that run the same on Ubuntu, Fedora, Mint or Arch.

The quick route: one script for everything

Typing package names by hand works, but you have to know each app’s exact ID — winget wants Mozilla.Firefox, Homebrew wants firefox, Flathub wants org.mozilla.firefox. The App Installer keeps that catalog for you: pick your system, tick the apps, and it writes the script. The page builds the script in your browser and shows it in full; when you run it, your computer talks only to the package manager’s own sources. Bookmark the page afterwards and your selection comes back with it — handy for the next machine.

Setting up a Windows PC

  1. Tick your apps on the Windows tab and download install-apps.cmd.
  2. Double-click it. Windows will say “Windows protected your PC” — that is Microsoft Defender SmartScreen, which warns about downloaded files that have not built up a reputation — as a script generated on a web page never has. Choose More info, then Run anyway. Prefer not to? Paste the one-line PowerShell command from the same page into PowerShell instead; it does the same thing.
  3. Approve the permission prompts for apps that install for the whole computer.

Before installing anything, the script makes sure winget works — which matters on exactly the machines you are setting up. On a brand-new or freshly reset PC, Windows does not switch winget on for your account until the Store has run in the background, which can take a while after the first sign-in. The script runs Microsoft’s documented registration command to switch it on immediately, and where App Installer is missing or outdated (LTSC editions, older Windows Server, PCs where the Store never updates), it installs the current winget with Microsoft’s own repair tool. Then it installs each app in turn and ends with a list of anything that failed and anything that needs a restart.

A few apps — ChatGPT, WhatsApp and iCloud among them — exist for Windows only in the Microsoft Store. Those are installed from the Store, still through winget, so they need the Store app, which normal Windows 10 and 11 include.

Setting up a Mac

On macOS the App Installer gives you a single Terminal command. Open Terminal (Applications → Utilities), paste it and press Return. If Homebrew is not installed yet, the command installs it first, and three things are worth knowing before you start:

  • It needs an administrator account. Homebrew will not set itself up from a standard account; the command checks and tells you rather than failing halfway.
  • It asks for your password, then for Return. Nothing appears while you type the password — that is normal. Homebrew’s installer then shows “Press RETURN to continue”, and any other key cancels it.
  • It may install Apple’s Command Line Tools, which takes a few minutes. Homebrew’s installation notes list macOS 15 Sequoia or later as officially supported; older versions may work but are not supported.

On Apple silicon Macs Homebrew lives in /opt/homebrew, which is not on the Terminal’s search path, and its installer only prints the line you would need to add. Skip that and every new Terminal window answers zsh: command not found: brew. The App Installer’s command adds the line to ~/.zprofile for you, once.

Apps you installed earlier by dragging them into Applications are left alone; Homebrew will not overwrite them. Apps that are not signed and notarized for Apple’s Gatekeeper check are not offered at all — in September 2026 Homebrew disabled the casks that fail it, which is why a few apps available for Windows and Linux are missing on the Mac tab.

Setting up Linux

Linux has many distributions and several package managers, so the App Installer uses the one that works on all of them for desktop apps: Flatpak with Flathub. If Flatpak is not set up, the command installs it with your distribution’s own package manager and adds Flathub — the same steps Flathub’s setup instructions give. After that first setup, restart (or log out and back in) so the new apps show up in your menu.

Command-line tools and Java come from your distribution’s own packages instead, because Flathub is for desktop apps. Distributions name these differently — Java 21 is openjdk-21-jdk on Ubuntu and Debian, jdk21-openjdk on Arch — so the command picks the right name for whichever package manager it finds. Not every distribution carries every version: current Fedora packages only the newest JDK, so the command installs that and says which ones it skipped.

A handful of tools are in no package manager at all on some distributions. For those — Claude Code, OpenAI Codex, and Ollama on Ubuntu — the command runs the maker’s own install script, exactly as their instructions describe, as your user rather than as root. It downloads the script to a file first, so a failed download is reported instead of silently doing nothing.

One more Linux detail: some Flathub apps are published by their own developers and marked verified; others are packaged by Flathub’s community from the developer’s official release. Each app’s Flathub page says which.

Moving your files across

Apps are half of a new machine; the other half is your files. Browser bookmarks and passwords are easiest moved by signing in to the browser’s own sync. For documents, photos and project folders, you do not need a cloud upload: with Share Files, open the page on the old computer, drop the files in, and open the link — or type the short code it shows — on the new one. The two browsers connect directly and the files stream between them, so even large folders move without a copy being left on anyone’s server. The guide to sending large files between devices explains how that connection works.

Keeping everything up to date

SystemUpdate what the script installed
WindowsRun install-apps.cmd again — winget upgrades apps that are already there — or update everything winget knows about with winget upgrade --all
macOSbrew update && brew upgrade
Linuxsudo flatpak update -y, plus your distribution’s usual system update for command-line tools

Many apps — browsers especially — also update themselves, so this matters most for the ones that do not.

When something goes wrong

What you seeWhat it meansWhat to do
“winget isn’t working on this PC”App Installer is missing and could not be installed automatically (often no access to Microsoft’s servers)Install or update App Installer from the Microsoft Store, then run the file again
An app fails with “installer hash does not match”The vendor replaced its installer before winget’s catalog caught upTry again later; catalog fixes usually land within a day or two
zsh: command not found: brewHomebrew is installed but not on this Terminal’s search path, or its installer was cancelledRun the App Installer command again; it finds Homebrew and fixes the path
“needs an administrator account”You are signed in to a standard Mac accountSign in as an administrator, or make this account one in System Settings → Users & Groups
New Linux apps missing from the menuFlatpak was just set up and the desktop has not picked up its app folderLog out and back in, or restart
“Not packaged for this distro, so skipped”Your distribution does not carry that versionPick a version it does carry — on Fedora, the newest Java

Is it safe to run a script from a website?

It is a fair question, and the right instinct. A script can do anything your account can, so the useful test is not where it came from but what it does. Look for three things. First, can you read it before running it? The App Installer shows the full script on the page. Second, where does it get the software? Here, only from winget, Homebrew and Flathub — which check what they download against published checksums or signatures — and, for the three Linux tools above, their makers’ own install scripts. Third, does it ask for more power than it needs? It uses administrator rights only for the steps that require them.

The scripts to be wary of are the ones that do not pass those tests: “debloat” or “optimise” scripts that change hundreds of system settings at once, or anything that downloads software from an address you cannot recognise.

Do this

  • Use your system’s package manager instead of download pages — it is faster, and it fetches each app from its official source.
  • Pick your apps once in the App Installer, run the script, and bookmark the page so the same selection is ready for your next computer.
  • On Windows, “Windows protected your PC” is expected for a downloaded script: More info → Run anyway, or use the PowerShell command.
  • On a Mac, run the command from an administrator account and press Return when Homebrew asks.
  • On Linux, restart after the first Flatpak setup so new apps appear in your menu.
  • Move your files across directly with Share Files instead of uploading them to the cloud.
  • Re-run the script (Windows) or the update command (Mac, Linux) every so often to keep apps current.

Frequently asked questions

Is this the same as Ninite?

Same idea, different mechanism. Ninite is a Windows-only service that hands you a signed installer program. The App Installer here writes a short script for the package manager your system already has — winget on Windows, Homebrew on macOS, Flatpak on Linux — so it covers all three, and you can read every line before running it. The trade-off is a SmartScreen warning on Windows and a Terminal command on Mac and Linux instead of a double-clickable program.

Can I uninstall the same way?

Yes, with the same tools. On Windows, “winget uninstall” followed by the app’s name or ID removes it; on macOS, “brew uninstall --cask” plus the app’s name; on Linux, “flatpak uninstall” plus the app ID. Apps installed this way also appear in the normal Settings or Applications list and can be removed from there as usual.

Do I need an administrator account?

On a Mac, yes for the first step: Homebrew refuses to set itself up from a standard account. On Windows, some apps install for the whole computer and show the usual permission prompt; a standard user can approve them only with an administrator’s password. On Linux, installing Flatpak or command-line tools needs sudo.

Will it install the latest versions?

Yes. Each package manager fetches the current release from its catalog at the moment you run the script, not a copy frozen when the script was made. That is also why running the same script again months later updates what is already installed on Windows.

Does it work without internet?

No. The page builds the script without uploading anything, but the script itself downloads each app from its official source, so the computer being set up needs a connection while it runs.

Tools used in this guide

Every one of these runs in your browser — the files you work on never leave your device.