Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

Ubuntu / Debian

Wayscriber v0.9.23+ .deb packages support Ubuntu 24.04+, Linux Mint 22+, Pop!_OS 24.04+, and Debian 13 (trixie)+. They require glibc 2.39 and GTK 4.12, and embed the pinned GTK4 layer-shell integration, so no separate libgtk4-layer-shell0 package is needed. Pop!_OS 22.04 has GTK older than the default build requires; use the GTK-less build there unless you separately install GTK 4.12 or newer.

Repo install (recommended):

sudo install -d /usr/share/keyrings
curl -fsSL https://wayscriber.com/apt/WAYSCRIBER-GPG-KEY.asc | sudo gpg --dearmor -o /usr/share/keyrings/wayscriber.gpg
echo "deb [signed-by=/usr/share/keyrings/wayscriber.gpg] https://wayscriber.com/apt stable main" | sudo tee /etc/apt/sources.list.d/wayscriber.list
sudo apt update
sudo apt install wayscriber

Configurator (repo):

sudo apt install wayscriber-configurator

One-off .deb (no auto-updates):

wget -O wayscriber-amd64.deb https://github.com/devmobasa/wayscriber/releases/latest/download/wayscriber-amd64.deb
sudo apt install ./wayscriber-amd64.deb

Configurator .deb (no auto-updates):

wget -O wayscriber-configurator-amd64.deb https://github.com/devmobasa/wayscriber/releases/latest/download/wayscriber-configurator-amd64.deb
sudo apt install ./wayscriber-configurator-amd64.deb

Fedora / RHEL

Repo install (recommended):

cat <<'EOF' | sudo tee /etc/yum.repos.d/wayscriber.repo
[wayscriber]
name=Wayscriber Repo
baseurl=https://wayscriber.com/rpm
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://wayscriber.com/rpm/RPM-GPG-KEY-wayscriber.asc
EOF
sudo dnf clean all
sudo dnf install wayscriber

The RPM repo publishes the key as both RPM-GPG-KEY-wayscriber.asc and RPM-GPG-KEY-wayscriber. Use the extensionless alias if your rpm-ostree or repo tooling expects that form.

Configurator (repo):

sudo dnf install wayscriber-configurator

One-off .rpm (no auto-updates):

wget -O wayscriber-x86_64.rpm https://github.com/devmobasa/wayscriber/releases/latest/download/wayscriber-x86_64.rpm
sudo rpm -Uvh wayscriber-x86_64.rpm

Configurator .rpm (no auto-updates):

wget -O wayscriber-configurator-x86_64.rpm https://github.com/devmobasa/wayscriber/releases/latest/download/wayscriber-configurator-x86_64.rpm
sudo rpm -Uvh wayscriber-configurator-x86_64.rpm

Arch Linux (AUR)

The AUR is the recommended path because pacman tracks the installed files and your AUR helper handles upgrades. Install the prebuilt binary:

yay -S wayscriber-bin
# or
paru -S wayscriber-bin

Or build from source:

yay -S wayscriber
# or
paru -S wayscriber

Configurator (GUI):

yay -S wayscriber-configurator
# or
paru -S wayscriber-configurator

Direct release installer (no AUR)

On x86_64 Arch-based systems, you can install the latest stable GitHub release without waiting for an AUR package. Download the script so you can inspect it before running it:

curl -fsSL https://wayscriber.com/arch-install.sh -o arch-install.sh
sh arch-install.sh --dry-run
sh arch-install.sh

The dry run downloads the release, checks its SHA-256 and install manifest, verifies the required Arch packages, and checks for a pacman-owned or unmanaged Wayscriber installation without installing files. Both the dry run and the full run refuse another copy that is not this install: unmanaged files under /usr, ~/.local/bin/wayscriber, or a user unit / drop-in whose ExecStart is not /usr/local/bin/wayscriber. A symlink that already resolves to the dest is not a conflict. Pass --replace-other on those commands to remove the other copy first. If wayscriber.service is already active, the installer restarts it unless you pass --no-restart. If a dependency is missing, it prints the pacman command to install it.

Remove the direct installation before moving to the AUR. Otherwise, the copy under /usr/local continues to take priority. Follow the direct installer removal steps.

NixOS / Nix

Wayscriber is packaged in nixpkgs. On NixOS, install it declaratively. nix profile is mainly useful when running Nix on another Linux distribution.

Which version you get:

SourceTracks
nixpkgs-unstableFollows Wayscriber releases, usually within a few weeks
Stable channels (nixos-25.11, nixos-26.05, …)Pinned when the release branch was cut; version bumps are not backported
The project flakeThe tag or branch recorded in your flake.lock

On a stable channel, use the project flake below when you want the newest release.

NixOS, from nixpkgs (recommended) — add to configuration.nix or another module:

{ pkgs, ... }:

{
  environment.systemPackages = with pkgs; [
    wayscriber

    # Optional screenshot and clipboard helpers on wlroots compositors:
    grim
    slurp
    wl-clipboard
  ];
}

Then rebuild with sudo nixos-rebuild switch, or sudo nixos-rebuild switch --flake .#myhost for a flake-based configuration.

Home Manager:

{ pkgs, ... }:

{
  home.packages = [ pkgs.wayscriber ];
}

Then run home-manager switch.

The nixpkgs build installs the wayscriber binary. The desktop entry, icons, and the wayscriber.service systemd user unit come with the flake packages below, which also provide the optional Configurator.

Try it without installing:

nix run nixpkgs#wayscriber -- --active
# Or the current upstream development branch:
nix run github:devmobasa/wayscriber -- --active

Latest release and the Configurator — add the flake input to your existing flake.nix, replacing RELEASE_TAG with a published tag such as the one shown on the latest release:

inputs.wayscriber.url = "github:devmobasa/wayscriber?ref=RELEASE_TAG";

Make it available in outputs:

outputs = { nixpkgs, wayscriber, ... }: {
  # Your existing outputs...
};

Then add this module to the modules list of your nixosSystem:

({ pkgs, ... }:

  let
    wayscriberPackages =
      wayscriber.packages.${pkgs.stdenv.hostPlatform.system};
  in
  {
    environment.systemPackages = [
      wayscriberPackages.wayscriber
      wayscriberPackages.wayscriber-configurator
    ];

    # Required before `systemctl --user enable --now wayscriber.service` works.
    systemd.packages = [ wayscriberPackages.wayscriber ];
  }
)

Your flake.lock pins the exact revision — a GitHub flake input does not keep following the branch on its own. To upgrade to a newer release, change RELEASE_TAG in flake.nix to the new published tag, then update only this input:

nix flake update wayscriber
sudo nixos-rebuild switch --flake .#myhost

Nix on another Linux distribution — a user profile install is reasonable there:

nix profile install nixpkgs#wayscriber
# Current upstream development branch and the optional Configurator:
nix profile install github:devmobasa/wayscriber#wayscriber
nix profile install github:devmobasa/wayscriber#wayscriber-configurator

Profile installs do not update with the rest of the system. Upgrade them with nix profile upgrade wayscriber, or remove them with nix profile remove wayscriber.

Build from source (any distro)

Rust 1.95 or newer is required.

Clone first so the optional dependency helper is available:

git clone https://github.com/devmobasa/wayscriber.git
cd wayscriber

Dependencies for the default GTK toolbar build:

# Debian 13+ / Ubuntu 25.04+ (including Ubuntu 26.04 LTS)
sudo apt-get install build-essential pkg-config libcairo2-dev libwayland-dev libpango1.0-dev libgtk-4-dev libgtk4-layer-shell-dev

# Fedora
sudo dnf install gcc gcc-c++ make pkgconf-pkg-config cairo-devel wayland-devel pango-devel libxkbcommon-devel cairo-gobject-devel gtk4-devel gtk4-layer-shell-devel

Ubuntu 24.04 LTS and Mint 22 have suitable GTK4 but not the layer-shell development package. Install the base dependencies, then build the pinned library:

sudo apt-get install build-essential pkg-config curl libcairo2-dev libwayland-dev libpango1.0-dev libgtk-4-dev meson ninja-build wayland-protocols
bash tools/install-gtk4-layer-shell.sh

Build with the default GTK frontend:

cargo build --release

Or build without GTK toolbars (required for the normal Pop!_OS 22.04 packages):

sudo apt-get install build-essential pkg-config libcairo2-dev libwayland-dev libpango1.0-dev
cargo build --release --no-default-features --features tablet-input,portal,tray

The GTK-less build retains the builtin Cairo toolbars.

The binary will be at target/release/wayscriber.

Screenshot tools (source/tarball only):

# Ubuntu / Debian
sudo apt-get install wl-clipboard grim slurp

# Fedora
sudo dnf install wl-clipboard grim slurp

Configurator build (optional):

cargo build --release --manifest-path configurator/Cargo.toml

Install script (optional):

cargo build --release
./tools/install.sh

The installer copies the binary to /usr/bin/wayscriber (or $WAYSCRIBER_INSTALL_DIR) and offers to set up a systemd user service or Hyprland keybinds. It refuses a second copy under /usr/local/bin or ~/.local/bin unless you pass --replace-other or confirm.

Keeping it current

Wayscriber tells you when a newer release exists but never installs anything itself. See Updating for the upgrade command for each source above, and for how to switch the check off.