Standalone Quickshell workspace overview for Hyprland with live window previews, drag-and-drop moves, and Nix-first integration.
Overview - Features - Removed From Upstream - Installation - Configuration - Development - Notes
Overzicht is a full-screen workspace switcher built as a standalone Quickshell package. It renders the current workspace group as a grid, shows live or event-driven window previews, and talks to Hyprland directly for focus, workspace switching, and window moves.
- Standalone package entrypoint through
overzicht, wrappingquickshell -p .... - Full-screen overlay on every screen using
WlrLayershell.layer = Overlayand namespaceoverzicht. - Keyboard-first control flow with IPC actions for opening, closing, and toggling the overview.
- Nix flake outputs for package, overlay, Home Manager module, and NixOS module.
- Runtime configuration loaded from JSON files under
~/.config/overzicht/.
- Live workspace grid with scaled window previews sourced from Quickshell screencopy.
- Click a workspace tile to switch to it.
- Click a window preview to focus it.
- Middle-click a window preview to close it.
- Drag a window preview onto another workspace tile to move it there.
- Keyboard navigation with arrow keys or
h/j/k/l. - Optional reversed row and column ordering.
- Optional per-monitor workspace offsets through
workspaceMap. - Optional empty-row hiding within the active workspace group.
- Optional backdrop and wallpaper-backed empty workspaces.
- Event-driven preview refresh mode for lower capture churn.
Compared to upstream quickshell-overview, this fork intentionally removes:
- Matugen-driven dynamic color generation and the
Appearance.colors.qmltemplate flow. - Caelestia color-source selection and live theme refresh.
- Configurable rounding options; overview surfaces are square-only here.
- Glass-mode styling and its related tint, border, and shine settings.
Nix is the only supported installation path.
Run directly from a flake input or this repository:
nix run github:adam01110/overzichtBuild the package:
nix build .#overzichtAvailable flake outputs:
packages.<system>.overzichtpackages.<system>.defaultoverlays.defaulthomeModules.defaultnixosModules.default
Import the module and enable programs.overzicht:
{
imports = [inputs.overzicht.homeModules.default];
programs.overzicht = {
enable = true;
systemd.enable = true;
settings = {
overview.rows = 2;
overview.columns = 4;
};
colors = {
primary = "#fb4934";
secondary = "#b8bb26";
background = "#3c3836";
};
};
}Import the module and enable services.overzicht:
{
imports = [inputs.overzicht.nixosModules.default];
services.overzicht.enable = true;
}IPC target: overview
# Toggle the overview
overzicht ipc call overview toggle
# Open the overview
overzicht ipc call overview open
# Close the overview
overzicht ipc call overview closeKeyboard controls while the overview is open:
Left/Right/Up/Downmove across the visible grid.h/j/k/lmirror directional movement.1to9jump to the matching workspace position in the current group.0jumps to position 10 when the grid has at least ten cells.ReturnandEscapeclose the overlay.
Overzicht reads two runtime files:
~/.config/overzicht/settings.json~/.config/overzicht/colors.json
The Home Manager module can generate both files for you. Complete examples and the full option reference live in EXAMPLE.md.
settings.json controls layout, motion, previews, and runtime behavior.
Main groups:
appearanceoverviewwindowPreviewhacks
Tip
previewMode accepts live and event-driven values such as event or snapshot. For the full schema and examples, use EXAMPLE.md.
colors.json provides the palette consumed by common/Appearance.qml. Define your gruvbox or custom palette there, and use EXAMPLE.md for the full key list.
# Inspect outputs
nix flake show
# Enter the dev shell
nix develop
# Format the repository
nix fmt
# Build the package
nix build .#overzichtFormatting is configured through treefmt.
WlrLayershell.namespaceisoverzicht.- The package is designed for Hyprland and depends on Quickshell Hyprland integration.
- There is no manual non-Nix installer and no AUR package.
