---
sidebar_position: 4
title: Manual Installation
---

# Manual Installation

If you prefer not to use the [one-line installer](./), you can set up yeet manually using the instructions below for your package manager.

:::note
yeet only supports **Linux** natively. macOS and Windows users should use [Docker](./docker) instead.
:::

## APT (Debian, Ubuntu, and derivatives)

This covers Debian, Ubuntu 20.04+, and Ubuntu-based distros like Kali Linux, Linux Mint, Pop!_OS, Zorin, and KDE Neon.

First, add the yeet signing key and repository:

**Debian:**

```bash
sudo mkdir -p -m 0755 /usr/share/keyrings

curl -fsSL "https://pkgs.yeet.cx/debian/yeet.noarmor.gpg" \
  | sudo tee /usr/share/keyrings/yeet-archive-keyring.gpg >/dev/null

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/yeet-archive-keyring.gpg] \
  https://pkgs.yeet.cx/debian $(. /etc/os-release; echo $VERSION_CODENAME) stable" \
  | sudo tee /etc/apt/sources.list.d/yeet.list >/dev/null
```

**Ubuntu and Ubuntu-based distros:**

```bash
sudo mkdir -p -m 0755 /usr/share/keyrings

curl -fsSL "https://pkgs.yeet.cx/ubuntu/yeet.noarmor.gpg" \
  | sudo tee /usr/share/keyrings/yeet-archive-keyring.gpg >/dev/null

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/yeet-archive-keyring.gpg] \
  https://pkgs.yeet.cx/ubuntu $(. /etc/os-release; echo ${UBUNTU_CODENAME:-$VERSION_CODENAME}) stable" \
  | sudo tee /etc/apt/sources.list.d/yeet.list >/dev/null
```

Then install yeet:

```bash
sudo apt-get update
sudo apt-get install -y yeet
```

## DNF / RPM (Fedora, RHEL, and derivatives)

This covers Fedora, RHEL, Rocky Linux, AlmaLinux, Amazon Linux 2023, and similar RPM-based distros. Note that Amazon Linux 2 is not supported — use Amazon Linux 2023 or later.

Add the yeet repository and install:

**Fedora:**

```bash
sudo dnf install -y 'dnf-command(config-manager)'

curl -fsSL "https://pkgs.yeet.cx/fedora/yeet.repo" \
  | sudo tee /etc/yum.repos.d/yeet.repo >/dev/null

sudo dnf install -y yeet
sudo systemctl enable --now yeetd
```

**RHEL, Rocky Linux, AlmaLinux:**

```bash
sudo dnf install -y 'dnf-command(config-manager)'

curl -fsSL "https://pkgs.yeet.cx/rhel/yeet.repo" \
  | sudo tee /etc/yum.repos.d/yeet.repo >/dev/null

sudo dnf install -y yeet
sudo systemctl enable --now yeetd
```

**Amazon Linux 2023:**

```bash
sudo dnf install -y 'dnf-command(config-manager)'

VERSION_ID=$(. /etc/os-release; echo $VERSION_ID)
curl -fsSL "https://pkgs.yeet.cx/amzn/yeet.repo" \
  | sed "s/\$releasever/$VERSION_ID/g" \
  | sudo tee /etc/yum.repos.d/yeet.repo >/dev/null

sudo dnf install -y yeet
sudo systemctl enable --now yeetd
```

## AUR (Arch Linux and derivatives)

yeet is published on the AUR as [`yeet-bin`](https://aur.archlinux.org/packages/yeet-bin). This covers Arch Linux, Manjaro, Garuda, CachyOS, Artix, and other Arch-based distros.

If you have an AUR helper like yay installed, you can install yeet with a single command:

```bash
yay -S yeet-bin
sudo systemctl enable --now yeetd
```

If you'd prefer to install manually using makepkg:

```bash
tmp_dir=$(mktemp -d)

curl -fsSL "https://pkgs.yeet.cx/archlinux/yeet.noarmor.gpg" -o "$tmp_dir/yeet.pub"

gpg --import "$tmp_dir/yeet.pub"
key_id=$(gpg --with-colons --import-options show-only --import "$tmp_dir/yeet.pub" | awk -F: '/^pub/ {print $5}')
printf "5\ny\n" | gpg --command-fd 0 --edit-key "$key_id" -q trust

sudo pacman-key --add "$tmp_dir/yeet.pub"
sudo pacman-key --lsign-key "$key_id"

git clone -c init.defaultBranch=master https://aur.archlinux.org/yeet-bin.git "$tmp_dir/yeet-bin"
(cd "$tmp_dir/yeet-bin" && makepkg -s)
sudo pacman -U --noconfirm "$tmp_dir"/yeet-bin/yeet-bin-[0-9]*.pkg.tar.zst

sudo systemctl enable --now yeetd
rm -rf "$tmp_dir"
```

## opkg (webOS)

```bash
mkdir -p /etc/opkg/keys
curl -fsSL "https://pkgs.yeet.cx/webos/yeet.pub" -o /etc/opkg/keys/yeet.pub

echo "src/gz yeet https://pkgs.yeet.cx/webos/$(. /etc/os-release; echo $VERSION_ID)/$(uname -m)/stable" \
  | sudo tee /etc/opkg/yeet.conf >/dev/null

sudo opkg update
sudo opkg install yeet
sudo systemctl enable --now yeetd
```

## Logging in

Once yeet is installed, authenticate with your account:

```bash
yeet login
```

This will give you a link to open in your browser. Once authenticated, you're ready to go.

---

Don't see your distro? Reach out to [support@yeet.cx](mailto:support@yeet.cx) and we'll help you out.
