Skip to content

Linux

Installing on Linux via Flathub

WezTerm is available in flatpak format and published on Flathub, which is aggregated into the GNOME Software application and other similar storefront/software catalog applications.

Warning

flatpaks run in an isolated sandbox which can cause some issues especially for power users. It is recommended that you graduate to a native package if/when you decide to fully embrace wezterm.

Download on Flathub

To install using the command line:

First, setup flatpak on your system, then:

$ flatpak install flathub org.wezfurlong.wezterm

and then run:

$ flatpak run org.wezfurlong.wezterm

You may wish to define an alias for convenience:

$ alias wezterm='flatpak run org.wezfurlong.wezterm'

Note

flatpaks run in an isolated sandbox so some functionality may behave a little differently when compared to installing the native package format for your system.

  • starting wezterm using wezterm cli subcommands will block on the first run since you logged in if you haven't already launched the gui.
  • Process inspection functions such as determining the current directory for a pane will not work

The flatpak is provided primarily for ease of trying out wezterm with low commitment, and you are encouraged to use native packages for your system once you're ready to get the most out of wezterm.

Only stable releases are allowed to be published to Flathub, so if you want/need to try a nightly download you will need to use one of the other installation options.

Installing on Linux using AppImage

WezTerm is available in AppImage format; a self-contained single file that doesn't require installation or any special privileges to run, and that is compatible with a wide range of Linux distributions.

Download and make the file executable and you're ready to run!

AppImage Nightly AppImage

$ curl -LO https://github.com/wez/wezterm/releases/download/20240203-110809-5046fc22/WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage
$ chmod +x WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage

You may then execute the appimage directly to launch wezterm, with no specific installation steps required:

$ ./WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage

That said, you may wish to make it a bit more convenient:

$ mkdir ~/bin
$ mv ./WezTerm-20240203-110809-5046fc22-Ubuntu20.04.AppImage ~/bin/wezterm
$ ~/bin/wezterm

Using the APT repo

You can configure your system to use that APT repo by following these steps:

$ curl -fsSL https://apt.fury.io/wez/gpg.key | sudo gpg --yes --dearmor -o /etc/apt/keyrings/wezterm-fury.gpg
$ echo 'deb [signed-by=/etc/apt/keyrings/wezterm-fury.gpg] https://apt.fury.io/wez/ * *' | sudo tee /etc/apt/sources.list.d/wezterm.list

Update your dependencies:

$ sudo apt update

Now you can install wezterm:

$ sudo apt install wezterm

or to install a nightly build:

$ sudo apt install wezterm-nightly

Note

The nightly build conflicts with the regular build, so you may install one or the other, but not both at the same time.

Pre-built .deb packages

The CI system builds .deb files for a variety of Ubuntu and Debian distributions. These are often compatible with other Debian style systems; if you don't find one that exactly matches your system you can try installing one from an older version of your distribution, or use one of the Debian packages linked below. Failing that, you can try the AppImage download which should work on most Linux systems.

Distro Stable Nightly
Ubuntu20 amd64 amd64
Ubuntu22 amd64 arm64 amd64 arm64
Ubuntu24 Nightly Only Nightly Only amd64 arm64
Debian10 amd64 amd64
Debian11 amd64 amd64
Debian12 amd64 arm64 amd64 arm64

To download and install from the CLI, you can use something like this, which shows how to install the Ubuntu 22 package:

$ curl -LO https://github.com/wez/wezterm/releases/download/20240203-110809-5046fc22/wezterm-20240203-110809-5046fc22.Ubuntu22.04.deb
$ sudo apt install -y ./wezterm-20240203-110809-5046fc22.Ubuntu22.04.deb
  • The package installs /usr/bin/wezterm and /usr/share/applications/org.wezfurlong.wezterm.desktop
  • Configuration instructions can be found here

Installing on Fedora and rpm-based Systems via Copr

Nightly builds of wezterm are now available via the Copr build service.

You can see the current list of available distributions and architectures on the wezterm-nightly project page. At the time that this page was written, the following distributions are available in Copr for x86_64 and aarch64:

  • Centos Stream 8 and 9
  • Fedora 38, 39, 40, rawhide
  • openSUSE Leap 15.5
  • openSUSE Tumbleweed
  • RHEL 8, 9

To perform initial installation:

$ sudo dnf copr enable wezfurlong/wezterm-nightly
$ sudo dnf install wezterm

openSUSE specific

To perform initial installation:

$ sudo zypper in dnf
$ sudo dnf copr enable wezfurlong/wezterm-nightly <repository>
where <repository> is one of the following, depending on the flavor and architecture: opensuse-tumbleweed-x86_64, opensuse-tumbleweed-aarch64, opensuse-leap-15.5-x86_64, opensuse-leap-15.5-aarch64.

$ sudo dnf install wezterm

Update

$ sudo dnf update wezterm

Installing on Fedora and rpm-based Systems

Note

It is recommended that you install via Copr so that it is easiest to stay up to date as future versions of wezterm are released.

The CI system builds .rpm files on CentOS and Fedora systems. These are likely compatible with other rpm-based distributions. Alternatively, you can try the AppImage download with should work on most Linux systems.

Distro Stable Nightly
CentOS8 wezterm-20240203_110809_5046fc22-1.centos8.x86_64.rpm No longer supported
CentOS9 wezterm-20240203_110809_5046fc22-1.centos9.x86_64.rpm wezterm-nightly-centos9.rpm
Fedora37 wezterm-20240203_110809_5046fc22-1.fedora37.x86_64.rpm No longer supported
Fedora38 wezterm-20240203_110809_5046fc22-1.fedora38.x86_64.rpm wezterm-nightly-fedora38.rpm
Fedora39 wezterm-20240203_110809_5046fc22-1.fedora39.x86_64.rpm wezterm-nightly-fedora39.rpm
Fedora40 Nightly only wezterm-nightly-fedora40.rpm

To download and install from the CLI you can use something like this, which shows how to install the Fedora 39 package:

$ sudo dnf install -y https://github.com/wez/wezterm/releases/download/20240203-110809-5046fc22/wezterm-20240203_110809_5046fc22-1.fedora39.x86_64.rpm

openSUSE

Note

It is recommended that you install via Copr so that it is easiest to stay up to date as future versions of wezterm are released.

openSUSE Tumbleweed/Slowroll

The stable version of WezTerm is available in the official repositories.

$ zypper install wezterm

openSUSE Leap

Use Copr or build if from source.

Arch Linux

WezTerm is available in the Extra repository.

Be sure to also install the ttf-nerd-fonts-symbols-mono package!

The version available in the extra repository may lag behind the latest wezterm release, so you may wish to use one of these AUR options:

What Where
Build from source https://aur.archlinux.org/packages/wezterm-git/

Linuxbrew Tap

If you are a Linuxbrew user, you can install wezterm from our tap:

$ brew tap wez/wezterm-linuxbrew
$ brew install wezterm

If you'd like to use a nightly build you can perform a head install:

$ brew install --HEAD wezterm

to upgrade to a newer nightly, it is simplest to remove then install:

$ brew rm wezterm
$ brew install --HEAD wezterm

Nix

WezTerm is available in nixpkgs as wezterm.

{
    # configuration.nix

    environment.systemPackages = [
        pkgs.wezterm
    ]
}

Flake

If you need a newer version use the flake. Use the cachix if you want to avoid building WezTerm from source.

The flake is in the nix directory, so the url will be something like github:wez/wezterm?dir=nix

Here's an example for NixOS configurations:

{
    inputs.wezterm.url = "github:wez/wezterm?dir=nix";
    # ...

    outputs = inputs @ {nixpkgs, ...}:{
        nixosConfigurations.HOSTNAME = nixpkgs.lib.nixosSystem {
            specialArgs = { inherit inputs; }; # Make sure you pass inputs through to your nixosConfiguration like this
            modules = [
                # ...
            ];
        };
    };
}
And for home-manager you can do the following:

# flake.nix

{
    inputs.wezterm.url = "github:wez/wezterm?dir=nix";
    # ...

    outputs = inputs @ {nixpkgs, home-manager, ...}:{
        homeConfigurations."user@HOSTNAME" = home-manager.lib.homeManagerConfiguration {
            pkgs = nixpkgs.legacyPackages.x86_64-linux;
            extraSpecialArgs = { inherit inputs; }; # Pass inputs to homeManagerConfiguration
            modules = [
                ./home.nix
            ];
        };        
    };
}
# home.nix

{inputs, pkgs, ...}:{
    programs.wezterm = {
        enable = true;
        package = inputs.wezterm.packages.${pkgs.system}.default;
    };
}

Cachix

Successful builds of the nightly nix action are pushed to this binary cache.

# nixosConfiguration module
{
    nix.settings = {
        substituters = ["https://wezterm.cachix.org"];
        trusted-public-keys = ["wezterm.cachix.org-1:kAbhjYUC9qvblTE+s7S+kl5XM1zVa4skO+E/1IDWdH0="];
    };
}

Raw Linux Binary

Another option for linux is a raw binary archive. These are the same binaries that are built for Ubuntu but provided in a tarball.

Raw Linux Binary Nightly Raw Linux Binary