nwg-shell

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
typobuster
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 -a
For Sway and Hyprland:
$ nwg-shell-installer -a -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
typobuster
but other ones can be installed instead.
Alternatively, one can modify each
nwg-shell
components' 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