Nwg-shell

From ArchWiki

The nwg-shell project aims to create a consistent, GTK based user interface for the Sway Wayland Compositor.

It also supports Hyprland since version 0.5.0 [1].

Note: Hyprland support is an addition to the shell, not a standalone feature.

Installation

The nwg-shell components can be installed with the nwg-shell (meta) package.

Note:
  • Support for Hyprland requires a few additional packages. Check the list of optional dependencies for the nwg-shell package.
  • Most components of the nwg-shell can also be installed and used standalone. See #Shell components for a full list of components.

The nwg-shell-installer script (see #Configuration) also expects a web browser, a file manager and a text editor to be installed before being run in order to setup keybindings properly. The suggested ones are firefox, thunar and mousepad but other ones can be installed instead.

Configuration

The nwg-shell package provides the nwg-shell-installer script which can be run to interactively generate a default configuration for every nwg-shell components as well as a custom configuration for Sway/Hyprland.

Warning: The nwg-shell-installer script is made to be run on fresh installations as it will restore/overwrite configurations and style sheets of each nwg-shell components as well as overwrite the Sway (or Hyprland) main configuration (a backup of the main Sway/Hyprland configuration file is created by the script beforehand).

For Sway, run:

$ nwg-shell-installer -w

For Hyprland:

$ nwg-shell-installer -w -hypr
Note: The nwg-shell-installer script expects a web browser, a file manager and a text editor to be installed before being run in order to setup keybindings properly. The suggested ones are firefox, thunar and mousepad but other ones can be installed instead.

Alternatively, one can modify each nwg-shellcomponents' configurations and style sheets graphically or by modifying the related files under ~/.config/component_name.

Finally, one can enable the greetd.service (so greetd will be started at boot) and set up the nwg-hello greeter.

Shell components

The nwg-shell package provides the following nwg-shell components:

Note: Most of these components can be installed and used standalone.
  • azote — Wallpaper manager for wlroots-based compositors and some other WMs.
https://github.com/nwg-piotr/azote || azote
  • gopsuinfo — A gopsutil-based command to display system usage info as text in panels like Waybar or icon/text in tint2 and nwg-panel executors.
https://github.com/nwg-piotr/gopsuinfo || gopsuinfo
  • nwg-bar — GTK3-based button bar for wlroots-based compositors.
https://github.com/nwg-piotr/nwg-bar || nwg-bar
  • nwg-clipman — a GTK3-based GUI for cliphist.
https://github.com/nwg-piotr/nwg-clipman || nwg-clipman
  • nwg-displays — Output management utility for sway and Hyprland.
https://github.com/nwg-piotr/nwg-displays || nwg-displays
  • nwg-dock — GTK3-based dock for Sway.
https://github.com/nwg-piotr/nwg-dock || nwg-dock
  • nwg-dock-hyprland — GTK3-based dock for Hyprland.
https://github.com/nwg-piotr/nwg-dock-hyprland || nwg-dock-hyprland
  • nwg-drawer — Application drawer for wlroots-based Wayland compositors.
https://github.com/nwg-piotr/nwg-drawer || nwg-drawer
  • nwg-hello — GTK3-based greeter for greetd written in python.
https://github.com/nwg-piotr/nwg-hello || nwg-hello
  • nwg-icon-picker — GTK icon chooser with a text search option.
https://github.com/nwg-piotr/nwg-icon-picker || nwg-icon-picker
  • nwg-look — GTK3 settings editor adapted to work in the wlroots environment.
https://github.com/nwg-piotr/nwg-look || nwg-look
  • nwg-menu — MenuStart plugin to nwg-panel, also capable of working standalone.
https://github.com/nwg-piotr/nwg-menu || nwg-menu
  • nwg-panel — GTK3-based panel for sway and Hyprland Wayland compositors.
https://github.com/nwg-piotr/nwg-panel || nwg-panel
  • nwg-readme-browser — WebKitGTK-based README file browser.
https://github.com/nwg-piotr/nwg-readme-browser || nwg-readme-browser
  • nwg-shell — Installer & meta-package for the nwg-shell project: a GTK3-based shell for Sway and Hyprland Wayland compositors.
https://github.com/nwg-piotr/nwg-shell || nwg-shell
  • nwg-shell-config — nwg-shell configuration utility.
https://github.com/nwg-piotr/nwg-shell-config || nwg-shell-config
  • nwg-shell-wallpapers — Selection of wallpapers contributed to the nwg-shell project.
https://github.com/nwg-piotr/nwg-shell-wallpapers || nwg-shell-wallpapers