dotfiles: a SwayFX desktop managed with GNU Stow
Dotfiles of my last wm, managed by GNU stow.
At a glance
- What is it?
- This repository is one person's working desktop, and the readme does the unusual thing of listing every piece of it: the compositor, the shell, the editor, the widgets, the launcher, the terminal, the file manager, the sound stack and the fonts. The tooling around it is more interesting than the list, because the dotfiles are managed with Stow, the dependencies with a tool the author wrote, and the versions are named after themes.
- Who is it for?
- Adopt this repository if you want a complete SwayFX desktop rather than a menu of components, since the readme lists every program with a reason and the pieces are already wired together. Do not adopt it if your system is not Void, Gentoo or Arch, because the automatic installation paths are limited to those three, and treat the configuration as one person's taste rather than a starting point, since the author describes it as the dotfiles of his last window manager.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly Lua, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A desktop described as a list of parts
The repository description says it plainly: dotfiles of the author's last window manager, managed by GNU Stow. The readme then lists the whole stack, which is the most useful thing about it.
The compositor is SwayFX, an enhanced fork of the i3-compatible Sway. The operating systems are Void or Gentoo with Musl, installed with a tool the author wrote, and Arch as the alternative. The shell is Zsh with Oh My Zsh, the Starship prompt, and a plugin set.
The rest of the list follows the same pattern of a specific choice with a reason attached. The widget layer is Eww. The application launcher is otter-launcher, which uses fsel, fzf and fd to pick files. Notifications are Dunst, with dunstify for programmatic ones. The terminal is Kitty, described as the best ally on change-theme. The editor is VIe, a project of the author's own, together with Tmux. The lock screen is a custom version of a swaylock fancy script. The file manager is Yazi with Thunar. The fonts are Iosevka, the Material Icons Outlined set, IcoMoon and Dragon4.
The sound stack is the one with a note attached: Pipewire and ALSA, with Playerctl, MPV and Kew, and the readme says it is very light in CPU consumption compared to MPD. That comparison is the only editorial judgement in the entire feature list, which suggests the author was aware it needed justifying.
Two entries describe the tooling rather than the desktop. GNU Stow is the dotfiles manager and theme switcher, and Reaver is the dotfiles dependencies manager, which is another of the author's own projects.
Several of the tools here are the author's own
The feature list quietly includes a family of the author's own projects, and that is the most interesting structural fact about the repository.
The editor is VIe, which appears both in the feature list and in the topic list of the repository, alongside the terminal, the multiplexer, the shell configuration and the notification helper. The dotfiles dependencies manager is Reaver, and the zsh plugin set lives in the repository's own tree rather than in a separate project. The package manager for Musl based systems is Getch, and the automatic installation paths come from another repository of the author's, with a separate branch for the chezmoi plus Ansible variant.
This matters for two reasons. The first is practical: a configuration that depends on a fork of your editor is not portable to a machine that does not have that fork, so adopting the desktop means adopting the author's software. The second is that it explains the repository's shape, with separate directories for the shell, the editor, the terminal, the multiplexer and the chat client, since the parts are separate projects with their own version cycles.
The chat client and the mail configuration have their own directories in the tree, and the multiplexer configuration is pointed at a file inside the repository rather than at a default location, which is the same pattern the terminal and the shell follow. The configuration is versioned next to the programs it configures, and the directory names in the listing match the feature list closely enough that you can get from the readme to the relevant directory without guessing.
The directory listing is the configuration map
The top level of the repository is the quickest way to understand how the desktop is put together, because the directory names are the program names.
There is a swayfx directory, which holds the compositor configuration and the installation guide, and beside it a swayfx-themes directory, which is the theme set the version names refer to. The shell, the terminal, the multiplexer, the editor and the chat client each have their own directory, along with a mail directory and a hidden-stuff directory for the configuration that lives in dot form.
Two files at the root are worth noticing. There is a stow.sh script, which is the entry point for the whole GNU Stow based installation, and there is a stylua.toml, which is the formatter configuration for the Lua code, which matches the primary language recorded for the repository.
There is also a change log at the root, which is unusual for a dotfiles repository and a good sign, because it means the configuration changes are tracked as changes rather than as commits you have to read to understand. The style configuration for the other side of the tree, the formatting of the toml and yaml and json files, sits in a prettier configuration file, so both halves of the configuration are formatted by a tool rather than by hand.
Taken together, this is a repository that is organised for a person who expects to move between machines, and it is legible enough that a reader can copy one directory rather than the whole thing.
Installation comes in three flavours, and only on three systems
The installation section is short and it tells you where to look before it tells you what to run.
The primary route is a guide, and the guide lives in the repository itself, in the sway configuration directory of the swayfx part of the tree. The readme links straight to it rather than reproducing the steps, which is a reasonable choice for a configuration that changes.
Alongside that there are three automatic paths. The first is chezmoi, the tool most readers will know. The second is a project of the author's called dots. The third is a chezmoi plus Ansible variant, which is a separate branch of that repository, and it is the one with the restriction that matters, since it is only for Arch Linux, Gentoo and Void Linux.
That restriction is the practical boundary of the whole repository, because the configuration is written for a specific environment: a SwayFX session on a Void or Gentoo system with Musl, or Arch. The readme does not promise a portable setup, and the installation tooling is built around those distributions.
There is also a section for people who want the previous arrangement, with two older themes hosted in separate repositories, one for Awesome with the third generation of Material and one for the second, and the readme links to the author's own site for the screenshots of both the current theme and the previous one, with a second place to find older images.
The theme naming shows up in the version history too, and the releases are named after themes, which is an unusual and pleasant choice for a configuration repository: the version tells you what the desktop looks like.
Contributing to somebody's desktop is a strange exercise
The contributing section is short and unusually honest about what a dotfiles repository is for.
The bug note says the desktop has only one consistent user, the author, and that there could be bugs he has not run into yet. If you have the time to report a bug, the repository's issue tracker is the place.
For pull requests, the readme is specific: pull requests for bug fixes or for improving the readme are welcome, but before starting work on a pull request for a new feature, open an issue so the two of you can discuss it first. That is a sensible rule for a configuration, because a new feature in a dotfiles repository is a change of taste, and taste is the one thing a maintainer should not have to discover after the work is done.
The support section asks for stars, for shares of the screenshots, for coffee and for donations, with Liberapay and Patreon linked.
There is also a short aside that says something about the project. The readme explains that the author's Reddit account was blocked with no way to recover it, links the discussion threads about why that happens, and says he has joined Lemmy as an alternative, and asks for a place to share dotfiles that is not Reddit. It is a reminder that a dotfiles community is a small social network, and that the choice of platform matters to the people in it.
The topics list carries the same signals: the usual ricing vocabulary, and also Tor and GnuPG, which suggests the configuration is used on machines where those are wanted. The repository is MIT licensed, and the last push was on 2026-10-16.
Editorial conclusion
Adopt this repository if you want a complete SwayFX desktop rather than a menu of components, since the readme lists every program with a reason and the pieces are already wired together. Do not adopt it if your system is not Void, Gentoo or Arch, because the automatic installation paths are limited to those three, and treat the configuration as one person's taste rather than a starting point, since the author describes it as the dotfiles of his last window manager. Before you install it, read the theme version history, since the releases are named after themes rather than numbered features, and check what the stow-based layout will do to the configuration directories you already have.
Frequently asked questions
What is this dotfiles repository?
It is the dotfiles of the author's last window manager, a SwayFX session managed with GNU Stow, with a feature list covering the shell, the editor, the widgets, the launcher, the terminal, the file manager, the sound stack and the fonts. The project is MIT licensed and the last push was on 2026-10-16.
How do I install this SwayFX configuration?
The primary route is a guide inside the repository, in the sway configuration directory of the swayfx part of the tree. Automatic installation is also available through chezmoi, through a project called dots, or through a chezmoi plus Ansible variant, and the README says the automatic paths are only for Arch Linux, Gentoo and Void Linux.
Why are the release versions named after themes?
Because the releases track the look of the desktop rather than a list of features, with the listed versions named Abyss, Vibe and Valyria for the 5.x line. Previous configurations for the Awesome window manager, called Focus for Material 3 and Lines for Material 2, live in separate repositories, and a gallery of screenshots is kept on the author's own site.
Which programs does this desktop use?
SwayFX as the compositor, Zsh with Oh My Zsh and Starship, Eww for widgets, otter-launcher with fsel, fzf and fd, Dunst with dunstify, Kitty, VIe and Tmux, a custom swaylock fancy script, Yazi with Thunar, Iosevka with Material Icons Outlined, IcoMoon and Dragon4, and a Pipewire and ALSA stack with Playerctl, MPV and Kew, which the README notes is light on CPU compared to MPD.
How can I contribute to this dotfiles project?
Bug reports go to the issue tracker, and pull requests for bug fixes or readme improvements are welcome. For a new feature, the README asks you to open an issue first so it can be discussed before any work starts, since a change in a configuration is a change of taste. The maintainer also lists Liberapay and Patreon for support.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/szorfein-dotfiles)Was this useful?