So Ive been using linux for a long time and mostly with gnome. I know about window managers and how using them will reduce the memory usage by system a lot because they are less bloated etc. I want to try a window manager on my nixos machine - this will be my first time trying one, I have good knowledge in programming so technical stuff wont bother me that much. Which window manager do you suggest? Customization is my priority.
If you like programming Python, then Qtile is a good option. Qtile is written itself in Python, but more importantly, the configuration file of it is a Qtile program. Meaning you can use all programming skills like functions and loops and other stuff in your configuration file directly. It works in Wayland and in X11.
Depends on usecase and Xorg vs. Wayland. I like Niri on my Thinkpad with touchscreen, using Wayland.
There are good reasons why Hyprland is big and popular
I would have use it, if the Hyprland developer wasn’t toxic.
Wayland: SwayWM, River (the most customizable wm I’ve ever used).
X11: DWM (configured via C, a little bit of effort if you’re not a minimalist), xmonad (via Haskell, on par with River).
My recommendation for getting started is Sway, but the others are definitely more customizable, as they use PLs for configuration. BSPWM and i3 are also good for X11, and a good middle ground between DWM’s nerdery and xmonad’s Haskell barrier. Wayland offers a much better experience if you’re not using Nvidia though. Some will recommend hyprland, but I really don’t like (IMHO). There are also some controversies around it’s leadership…
I have to put in a plug for herbstluftwm.
It really depends on whether you like the keyboard and tiling widow managers, or if you like dragging windows around and resizing them. Tiling widow managers are popular, but they’re definitely a taste.
hlwm and bspwm are a - “configurationless” breed - I think river on Wayland is the same. This has become my one requirement for a window manager. Every configuration is done through a command line client call, and it’s game changing. The “configuration” is just a specific shell script hlwm runs when it starts up, and it’s full of whatever client calls needed to configure the system. Every call in that script can be run outside the script; it’s literally a just shell script. I run all sorts of things in that script: launching “desktoppy” programs like kanata, setx, autostart programs that start on a specific screen; one script lays out one screen in a complex 2x1 layout where each pane is tabbed and contains three terminals each, and then launches terminals that connect to various remote computers - that’s my “remote server” screen, and it’s all set up when I log in.
However - definitely for tiling enthusiasts. I used i3 for a decade before I found bspwm, which converted me to configurationless WMs, and I ended up with hlwm. It’s honestly what’s preventing me from giving Wayland a serious go, although river might do the trick.
River is sooooo good when it doesn’t break (it’s stable, you just need to get it working in the beginning). The guile config is beautiful, always reminds me of xmonad.
- main thing to keep in mind is that a window manager is normally just one component of a desktop environment – full desktop environments like Gnome go to great lengths to assemble a whole fleet of apps to work together to make a cohesive experience
- if you’re going to forego the full desktop environment, then expect to have to fill in on the various missing pieces to suit your needs (file manager, terminal, text editor, clipboard manager, bar/panel/dock)
- if you just want lighter weight but maintain a cohesive experience, then Xfce or LXQt
- otherwise, there are a LOT of choices (both for X11 and for Wayland)
- tiling window managers
- i3 on X or Sway on Wayland are probably the most popular
- special mention: Regolith – pairs Sway on the front end with Gnome components underneath
- dwm for the full do-it-yourself experience
- awesome if you like Lua, xmonad if you like Haskell, exwm if you live in Emacs, Qtile if you like Python
- i3 on X or Sway on Wayland are probably the most popular
- stacking window managers
- Openbox for the old school feel, LabWC as the Wayland successor
- IceWM and JWM for a minimal experience (both show up regularly on Raspberry Pi)
- Motif for the retro enthusiast
I actually really love icewm. I’m still gonna install i3 on every system (for a default experience, when I configure I usually switch over to something else), but I’ll always keep icewm as a backup. Also the default wm on openSUSE which makes me happy
and linear window managers: niri.
Niri is still in alpha though, right? Last time I tried it, it was buggy as all hell… Cool concept though.
Sway
gnome + paperwm, on a laptop I found there are so many things that are a headache to configure, like battery alerts, bluetooth, wifi that it’s just a hassle for what amounts to like half an hour longer battery life
Disclaimer: If you want to explore window managers then go ham! Linux is all about exploration.
Now, If you think the grass might be greener on a different desktop manager then stick with gnome. By no means am I saying Gnome is the best, but its more of a situation where it will devolve into the quirks you know vs the quirks you don’t know situation.
Personal Antidote, I started with Gnome and used Gnome for years. Got curious and started jumping around I tried KDE, I3W, XFCE, Pure X, Etc. There were things I liked about each one of them but the quirks of each deviating from my expectations coming from gnome was too much and I ended up sticking with gnome.
That being said, out of necessity due to system constraints I run XFCE when I need a light weight DE. A close second in that realm is LXDE But I don’t like its default aesthetic nor do I feel like customizing it since I do most of my computing in a terminal.
I’m a big fan of both i3 and enlightenment.
I would say sway for Wayland support. Better yet, Hyprland is an awesome one and well supported in Nix. Maybe disable animation to reduce memory usage
gotta go with this one :D
I’m a happy i3 user, but that actually looks pretty enticing. Might give that a go the next time I’m trying something new.
Labwc over the lxqt environment
I feel like hyprland is really popular, or at least it’s the one I most often hear mentioned. It should be really configurable as well, so maybe it’s worth a look. I’m not sure you’re going to notice much of a performance difference though, unless the device has a really limited amount of RAM.
If you’ve been using gnome, you’ve already been using a window manager.
Unless you’re on a very limited RAM budget, I wouldn’t bother messing with it too much, unless you feel like breaking things.
If you have a machine with decent RAM them don’t worry about RAM usage. You don’t really gain anything by dropping 4 gig RAM usage down to 2 gig RAM.