# Manjaro Sway Edition: a Wayland spin whose whole build is in one repository

> Manjaro Sway Edition is a Manjaro derivative built around the Sway compositor, and almost everything about it is a build artefact: the ISO profile, the desktop settings, the pacman repository and the image server all live in one repository and are produced by GitHub Actions. It is now in maintenance mode, with new development moved to AshlarOS.

**manjaro-sway/manjaro-sway** — manjaro linux with wayland 🖼, sway 🌴 and a lot of ♥

- Repository: https://github.com/manjaro-sway/manjaro-sway
- Website: https://manjaro-sway.download
- Stars: 812 · Forks: 32
- Language: Python
- License: MIT
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/manjaro-sway-manjaro-sway

## A Manjaro derivative built around Sway

Manjaro Sway Edition is described in the repository as manjaro linux with wayland, sway and a lot of love. It is a Manjaro derivative whose desktop is Sway, the tiling Wayland compositor, rather than one of Manjaro's larger desktop environments.

The image downloads are on sway.manjaro.download, and the project tells you to create a bootable USB stick with Etcher or a similar tool. There is a support FAQ in the SUPPORT.md file in the repository root for additional hints.

Two badges in the header are worth understanding, because they tell you which package category the images track: one reads lts and one reads stable, and both query Manjaro's kernel package metadata at build time. The badges for the package build and ISO build workflows show that both artefacts are produced by GitHub Actions rather than by hand.

The repository structure says the same thing. Alongside the documentation, the ISO profiles, the packages directory and the worker that serves the download site, there are a gpg-public-key.asc file, a requirements.txt, a ruff.toml for the Python linting of the build scripts, and a mise.toml that pins the tooling versions. The primary language recorded for the project is Python, which makes sense: the automation around a distribution is scripts, and the scripts are Python.

The project is MIT licensed, with the licence file at the root, and the last push was on 2026-10-18.

## Four principles that explain most decisions

The project lists the principles it is built by, and they are more informative than a feature list would be.

The first is to use a decent cli/tui solution. In a tiling compositor setup there is a lot of configuration, and the project's answer is that where a task can be done from a terminal, it should be done from a terminal rather than through a settings panel. The mjr command, a small service for shortening links that is available in the distribution as the mjr cli, is an example of that preference in practice.

The second is convention override-able by configuration. The defaults are conventions rather than hard coded behaviour, so a user who wants a different arrangement can change it without patching the distribution.

The third is prepare opt-out. Features are expected to have a way to be switched off, which matters for a desktop that people run on very different hardware and with very different tastes.

The fourth is build everything in automation. This is the one with the most visible consequences, and the rest of the repository follows from it. The ISO and the packages are built by the build-iso.yml and build-packages.yml workflows, the profile and settings live in the same repository as the package build definitions, and the image server is served from the worker directory in the same tree.

A reader who adopts only one of these principles will understand the project. Adopt the fourth and you can predict where the sources are, which is exactly what the development section does.

## Only unstable images are published, and that is the argument for it

The release branch note is the most opinionated paragraph in the documentation, and it explains a choice that would otherwise look like a risk.

Only images built against Manjaro's unstable branch are published. The reasoning given is that Sway doesn't carry the deep dependency-tree entanglements that the larger desktop environment variants, KDE, GNOME and XFCE, have to manage when promoting packages from unstable to testing to stable. For this edition, unstable is generally a fine daily driver.

That is a specific argument about package promotion, and it is worth taking seriously. A large desktop environment has many packages that interact with each other and with the display stack, so a failure on unstable is likely to be visible and to block promotion for everyone. A compositor-only edition has fewer moving parts, so the cost of tracking the tip of the distribution is lower.

The escape hatch is documented as well. If you would rather track a slower-moving branch, you can switch to testing or stable after install, with a link to the Manjaro wiki page on switching branches.

For a reader, the practical reading is that the shipped image is closer to a rolling development snapshot than to a conservative distribution release. That is a deliberate choice with a stated rationale, not an oversight, and it is the main thing to weigh before installing on a machine you depend on.

## The profile, the settings and the packages all live in one tree

The development section makes an unusual claim for a distribution: everything this distribution builds lives in this repository.

The ISO profile is at iso-profiles/community/sway. The desktop settings and the skel, which is the skeleton of files copied into a new user's home directory, are at packages/manjaro-sway-settings/payload. The packages directory holds the PKGBUILDs of the pacman repository the edition installs from, and it includes an upstreams.yml that records where each vendored package comes from. The worker directory and the docs directory are what serve sway.manjaro.download.

That last point is the one that catches people out. This is not a repository that produces a tarball you download. The published images are served from the repository itself, by a worker in the same tree, so a change to the repository can change what a user downloads.

The upstreams.yml file deserves attention for a different reason. When a distribution vendors packages from upstream rather than tracking them directly, the record of where each one came from is what makes updates auditable later. Keeping that mapping in version control next to the PKGBUILDs is a practice worth copying whether or not you use this edition.

The repository also carries a number of side projects that grew out of it. The project mentions a large number of GitHub Actions used to orchestrate ISO and image building, package building and repository orchestration, and the mjr.sh link shortener, which is available as a command in the distribution. A distribution that spawns shared infrastructure like that is contributing to the wider Manjaro ecosystem rather than keeping itself isolated.

## Building the ISO yourself and the one command worth running first

You can build the image locally, and the documentation names the tool.

The ISO and the packages are built by the build-iso.yml and build-packages.yml workflows, and for a local build the project points at manjaro-tools and gives the command:

```bash
buildiso -p sway -f -b unstable
```

The profile name, the force flag and the branch are the three things you set. Building against unstable is what the published images do, so a local build of unstable is the closest match to what users receive.

Before pushing a profile change, the documentation suggests running the cheap check that CI runs:

```bash
python3 scripts/check_iso_packages.py
```

The framing of that step is the interesting part. The script is not a test suite, it is the check that catches a profile change that would leave the image referencing a package that is not there or not in the repository. Running it locally before a push is cheaper than finding out in the workflow.

The Python side of the build tooling is small and deliberately so. The requirements.txt file states that it lists what the scripts in scripts/ import beyond the standard library, and that boto3 and PyYAML are unpinned on purpose, because they are two well behaved libraries used through their stable surfaces and a pin there would be a second thing to update with nothing checking it. The tools that decide reproducibility are pinned in mise.toml instead.

That is a considered split: application dependencies float, build reproducibility is fixed, and the two decisions are recorded in two different files with a comment explaining why.

## Maintenance mode, and where the active work moved

The most important line in the documentation is the important callout at the top of the README.

Manjaro Sway is in maintenance mode. It still receives fixes and package updates, but active development now happens in AshlarOS, at ashlaros.download.

That is a change of direction rather than a shutdown, and the release history supports the reading. The tags are dated builds rather than version numbers, 202610180719 from 2026-10-18, 202610142346 and 202610110906, which is the pattern of a project that continues to publish images on a schedule without releasing new feature versions.

For an adopter, the distinction matters in two directions. If you want a working Sway Manjaro today, this repository still provides it, with fixes and package updates. If you want to shape the future of the project, that work is happening in a different place, under a different name, and the energy here will go into keeping the existing thing alive.

The maintenance promise itself is specific: it still receives fixes and package updates. The last push was on 2026-10-18, so the tree is being worked on, and the release tags confirm images are still being produced.

The community channels remain in place, with a Matrix chat linked from the header, and the contributing section points at discussions, the forum at forum.manjaro.org and the request to use the distribution daily and report problems early.

## The licence, the credits and the projects it depends on

The licence is MIT, which is the permissive end of the scale and covers the profiles, the settings, the packaging scripts and the documentation. For a distribution whose content is largely configuration and automation, that is a generous and useful position, and it is also why the whole tree can be forked and adapted. This is a note on the licence terms, not legal advice about your particular use.

The credits section is unusually specific about the history. The initial inspiration came from the sway branch in the Manjaro ISO profiles repository, and a lot of the early work was copied from the Manjaro Sway ARM overlay. The logo is a contribution by André Vallestero.

The donations section points at the upstream projects the distribution relies on most. For sway and wlroots, it suggests supporting Drew DeVault. For waybar, the status bar that a Sway setup needs, it suggests Alexis Rouillard.

That last item is the useful warning for anyone reading the feature list. Manjaro Sway is not a compositor implementation; it is a distribution that packages, configures and pins sway, wlroots, waybar and the rest of the stack so they work together on install. The value is in that packaging and in the automation that rebuilds it. The value is not in the parts themselves, and those parts have their own maintainers, their own release cycles and their own ways of taking contributions.

## Conclusion

Manjaro Sway Edition suits a Linux user who wants a working Sway desktop without assembling the compositor, the portal stack and the packaging themselves, and who is comfortable tracking an unstable branch. It is the wrong choice if you want a distribution with an active feature roadmap, because the project is in maintenance mode and new development happens in AshlarOS, and it is the wrong choice if you need a conservative package set, because only images built against unstable are published. Verify three things before you install it: that your hardware combination is one the ISO actually supports, that you are comfortable running unstable packages on your machine, and that the pre-install checks in SUPPORT.md do not warn against your setup.

## FAQ

### What is Manjaro Sway Edition?

It is a Manjaro derivative built around the Sway compositor on Wayland, with a download site at sway.manjaro.download and bootable images for USB installation using Etcher or a similar tool. The licence is MIT and the primary language of the build automation is Python.

### Is Manjaro Sway still maintained?

It is in maintenance mode: the project states that it still receives fixes and package updates, while active development now happens in AshlarOS. The last push to the repository was on 2026-10-18, and dated release tags such as 202610180719 show images are still being built.

### Which Manjaro branch do the images track?

Only images built against the unstable branch are published. The reasoning is that Sway does not carry the deep dependency-tree entanglements of the larger desktop environments, so unstable is a reasonable daily driver, and the wiki page on switching branches is linked for anyone who prefers testing or stable.

### How do I build the Manjaro Sway ISO locally?

With manjaro-tools, using buildiso -p sway -f -b unstable. Before pushing a profile change the project suggests running the same cheap check CI runs, python3 scripts/check_iso_packages.py.

### Where do the Manjaro Sway packages come from?

The packages directory holds the PKGBUILDs of the pacman repository the edition installs from, and it includes an upstreams.yml file recording where each vendored package comes from. The ISO profile, the desktop settings and the worker that serves the download site are all in the same repository.

### How can I contribute to Manjaro Sway?

The project points at its discussions for implementation ideas, at pull requests against the desktop settings and the ISO profile, at documentation and chat contributions, and at the Manjaro forum. It also asks users to run the distribution daily, and to switch to the unstable or testing branch to get packages early and report problems.

## Sources

- [License: MIT](https://github.com/manjaro-sway/manjaro-sway/blob/main/LICENSE)
- [manjaro-sway/manjaro-sway on GitHub](https://github.com/manjaro-sway/manjaro-sway)
- [Project website](https://manjaro-sway.download)
- [README](https://github.com/manjaro-sway/manjaro-sway/blob/main/README.md)
- [Releases](https://github.com/manjaro-sway/manjaro-sway/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/manjaro-sway-manjaro-sway
