Sway works pretty much perfectly for everything I throw at it (which is mostly alacritty, emacs, firefox and chromium). If you can stomach minimalism, give it a try.

In my opinion, it represents a significantly better UI than Gnome/KDE/MacOS/Windows paradigms. So much that it's probably the largest reason why I live mostly in Linux land instead of Mac right now.

Curious, are you on a laptop?

If so, how much of a time investment was it to reach the point where you were no longer customising to reach parity with "batteries included" desktop environments (battery bar, sane sleep/wake-ups, volume control)? And how does it handle being plugged/unplugged from external monitors?

I have tried to switch to tiling WMs several times, but I have always found myself going back to Gnome as soon as it's a rabbit-hole of config files to do something "simple" like, adjust volume, or organise monitors. That is, features that are quite discoverable in standard DEs.

sway laptop user here (for almost 2 years I think?).

I spent a little while on this, but I migrated from i3, so I just ported every little section of my config bit by bit.

In terms of battery bar and other "bar" type things, I use waybar[0] which basically does all the things you'd expect by default (just install and it "works").

For multi-monitor, config, I initially setup with wdisplays[1] (think arandr for wayland) and then manually copied the positions into my sway config. Monitor positioning was the only thing I needed to setup (and telling it that one monitor was HDPI) and then all of the scaling and everything worked perfectly. This was my biggest selling point for wayland, I now get nice crisp fonts and application scaling works nicely (which was not the case with X).

volume control from the keyboard took no time, just a couple of extra lines.

There was some stuff to do with the clipboard (wl-clipboard[2]) and screenshots (grim[3] + slurp[4]) that required some setup, but again, just a few lines, and didn't take much mental load.

Oh and I needed to change my notifications daemon(dunst[5]), and chose to change my program launcher to one with a nicer interface and cleaner fonts (wofi[6]).

I think that's all the tweaking that I did. Oh, and I needed to do something with pipewire to sort out screensharing at the start, don't remember that too well though...

[0] https://github.com/Alexays/Waybar

[1] https://github.com/artizirk/wdisplays

[2] https://github.com/bugaevc/wl-clipboard

[3] https://github.com/emersion/grim

[4] https://github.com/emersion/slurp

[5] https://github.com/dunst-project/dunst

[6] https://hg.sr.ht/~scoopta/wofi