A clean, macOS-inspired desktop shell for Hyprland — featuring a status bar, app switcher, application dock, media player and quick settings panel.
More screenshots here.
- Kiwi Shell focuses on a polished, professional aesthetic inspired by macOS.
- Kiwi Shell is easy to install — one command on Arch, a few lines in your flake on NixOS.
- Kiwi Shell is designed to be configurable. It comes with its own settings app and supports config files.
- Kiwi Shell is lightweight by design. Built on Astal, it reacts to system changes instead of polling for them, keeping CPU usage low and the interface snappy.
If you run into any problems, I am happy to help. Just open an issue on github.
Make sure the following services are installed and running on your system:
| Service | Purpose |
|---|---|
| NetworkManager | Wi-Fi & network management |
| BlueZ | Bluetooth |
| Power Profiles Daemon | Power mode switching |
| WirePlumber | Audio control |
| UPower | Battery info (optional, recommended for laptops) |
1. Install the required system services:
sudo pacman -S networkmanager bluez power-profiles-daemon wireplumber upower2. Install Kiwi Shell from the AUR:
yay -S kiwi-shell1. Add Kiwi Shell to your flake.nix inputs:
{
inputs = {
kiwi-shell.url = "github:selimbucher/hyprland-widgets";
kiwi-shell.inputs.nixpkgs.follows = "nixpkgs";
};
}2. Add the package in your Home Manager config (usually home.nix):
{ inputs, pkgs, ... }:
{
home.packages = [
inputs.kiwi-shell.packages.${pkgs.system}.default
];
}Start Kiwi Shell by running:
kiwiTo launch it automatically on login, add this to your Hyprland config:
exec-once = kiwiWhen you change the accent color in the app, a config file is written to ~/.config/kiwi-shell/hypr.conf:
$kiwiColorLight = rgba(179,165,231,0.7)
You can include this in your Hyprland config to match your window border color:
source = ~/.config/kiwi-shell/hypr.confThe app switcher is controlled via kiwictl. Bind these commands in your Hyprland config:
| Command | Description |
|---|---|
kiwictl apps open-next |
Open the menu if closed and cycle to the next app |
kiwictl apps confirm |
Switch to the selected app |
kiwictl apps close |
Dismiss the switcher |
Setting up the keybinds can be a little tricky — see the App Switcher Guide for a step-by-step walkthrough.
To match the look in the screenshots, install the following:
- Font: Quicksand (
ttf-quicksand-variableon AUR) - Icons: WhiteSur Icon Theme with Alternative Icons and Bold Panel Icons enabled
GPL-3.0-or-later. See LICENSE for details.
