|
1 | 1 | # Installation |
2 | 2 |
|
3 | | -waywall is available on Arch through the AUR and on systems with Nix through Nixpkgs. |
| 3 | +waywall is available through some distribution-specific package repositories |
| 4 | +(presently the Arch User Repository and Nixpkgs.). Additionally, prebuilt |
| 5 | +binary packages are provided on the [Releases] page. |
4 | 6 |
|
5 | | - - [Arch Linux (AUR)](https://aur.archlinux.org/packages/waywall-working-git) |
6 | | - - [Nix (Nixpkgs)](https://search.nixos.org/packages?channel=unstable&query=waywall) |
| 7 | +**The following sections contain the methods available for installing waywall |
| 8 | +on various distributions, listed roughly in order of preference.** |
7 | 9 |
|
8 | | -Users on other distributions must download a prebuilt package from the |
9 | | -[Releases](https://github.com/tesselslate/waywall/releases) page or build |
10 | | -waywall from source. |
| 10 | +## Arch Linux |
11 | 11 |
|
12 | | -## Installing with Nix |
| 12 | +waywall is available on Arch-based distributions through the the Arch User |
| 13 | +Repository via the [`waywall-working-git`] package. |
| 14 | + |
| 15 | +Prebuilt binary packages are additionally provided on the [Releases] page. |
| 16 | + |
| 17 | +Lastly, waywall can be manually [built from source]. |
| 18 | + |
| 19 | +## Debian |
| 20 | + |
| 21 | +Prebuilt binary packages for Debian 13 are provided on the [Releases] page. |
| 22 | + |
| 23 | +> [!CAUTION] |
| 24 | +> waywall is unable to run on many Debian derivatives, including Linux Mint and |
| 25 | +> most versions of Ubuntu, as their package repositories are too outdated. |
| 26 | +
|
| 27 | +<br/> |
| 28 | + |
| 29 | +Additionally, waywall can be manually [built from source]. |
| 30 | + |
| 31 | +> [!NOTE] |
| 32 | +> If you want to compile from source on Debian 13, you will need to use Clang, |
| 33 | +> as the packaged version of GCC is not up-to-date enough. |
| 34 | +
|
| 35 | +## Fedora |
| 36 | + |
| 37 | +Prebuilt binary packages for Fedora 42 are provided on the [Releases] page. |
| 38 | + |
| 39 | +Additionally, waywall can be manually [built from source]. |
| 40 | + |
| 41 | +## Nix |
13 | 42 |
|
14 | 43 | waywall is available in Nixpkgs since 26.05. |
15 | 44 |
|
@@ -49,14 +78,6 @@ On other distributions with Nix installed, it can be installed with: |
49 | 78 | $ nix profile install nixpkgs#waywall |
50 | 79 | ``` |
51 | 80 |
|
52 | | -## Building with the packaging script |
53 | | - |
54 | | -The package building script is able to create binary packages for Arch Linux, |
55 | | -Debian 13, and Fedora 42. |
56 | | - |
57 | | -Refer to the instructions within the [README](https://github.com/tesselslate/waywall/#building-with-build-packagessh) |
58 | | -for more information on how to use the packaging script. |
59 | | - |
60 | 81 | ## Building from source |
61 | 82 |
|
62 | 83 | waywall is written in C and uses the Meson build system, so you will need to |
|
98 | 119 |
|
99 | 120 | The compiled binary will be located at `build/waywall/waywall`. If you'd like, |
100 | 121 | you can move it to somewhere on your `$PATH`. |
| 122 | + |
| 123 | +## Building with the packaging script |
| 124 | + |
| 125 | +The package building script is able to create binary packages for Arch Linux, |
| 126 | +Debian 13, and Fedora 42. |
| 127 | + |
| 128 | +> [!IMPORTANT] |
| 129 | +> This script only builds packages for **Arch Linux**, **Debian**, and |
| 130 | +> **Fedora**. If you use another distribution, you will have to |
| 131 | +> [build waywall from source](#building-from-source). |
| 132 | +
|
| 133 | +This script automatically builds both the main waywall binary and the mandatory |
| 134 | +patched version of GLFW, which is located at `/usr/local/lib64/waywall-glfw/libglfw.so`. |
| 135 | + |
| 136 | +### Dependencies |
| 137 | +- `podman` |
| 138 | +- `git` |
| 139 | +- `pacur fedora-42, arch and debian-trixie containers` (from https://github.com/pacur/pacur) |
| 140 | +- `docker` |
| 141 | + |
| 142 | +### Container setup |
| 143 | + |
| 144 | +```sh |
| 145 | +git clone https://github.com/pacur/pacur |
| 146 | +cd pacur/docker |
| 147 | +find . -maxdepth 1 -type d \( ! -name "archlinux" ! -name "debian-trixie" ! -name "fedora-42" \) -exec rm -rf {} + |
| 148 | +for dir in */ ; do podman build --rm -t "pacur/${dir::-1}" "$dir"; done |
| 149 | +``` |
| 150 | + |
| 151 | +The containers should now be installed. If the build fails, try rebooting your machine. |
| 152 | + |
| 153 | +### Setup |
| 154 | + |
| 155 | +- Clone waywall repository `git clone https://github.com/tesselslate/waywall` |
| 156 | +- Make the main script executable `chmod u+x build-packages.sh` |
| 157 | +- [Install pacur containers](#container-setup) for `archlinux`, `fedora-42`, and `debian-trixie` |
| 158 | +- Run `./build-packages.sh` inside the waywall directory and select which distributions to build for |
| 159 | + - Within the script: 1 for Arch, 2 for Fedora, 3 for Debian, 4 for done |
| 160 | + - Or, use the provided script flags for building (for example `./build-packages.sh --debian` or `./build-packages.sh --fedora --arch`) |
| 161 | +- Enjoy |
| 162 | + |
| 163 | +### Installation |
| 164 | + |
| 165 | +The script will output where the build artifacts are located (for example `Build artifacts are located in: ~/waywall/waywall-build`). |
| 166 | +On some distributions, you can double-click the correct built package in your |
| 167 | +graphical file manager of choice. Otherwise, install it from the terminal with |
| 168 | +one of the following commands: |
| 169 | + |
| 170 | +- ArchLinux: `sudo pacman -U ~/waywall/waywall-build/waywall-0.5-1-x86_64.pkg.tar.zst` |
| 171 | +- Fedora: `sudo dnf localinstall ~/waywall/waywall-build/waywall-0.5-1.fc42.x86_64.rpm` |
| 172 | +- Debian: `sudo dpkg -i ~/waywall/waywall-build/waywall_0.5-1_amd64.deb` |
| 173 | + |
| 174 | +[built from source]: #building-from-source |
| 175 | +[Releases]: https://github.com/tesselslate/waywall/releases |
| 176 | +[`waywall-working-git`]: https://aur.archlinux.org/packages/waywall-working-git |
0 commit comments