Skip to content

Installation

GPUi Shell is packaged as a Nix flake.

You can try GPUi Shell without installing it:

Terminal window
nix run github:andre-brandao/gpui-shell

To run with arguments (e.g., open launcher with pre-filled text):

Terminal window
nix run github:andre-brandao/gpui-shell -- --input "search term"

In your flake.nix:

{
inputs = {
# ...
shell = {
url = "github:andre-brandao/gpui-shell";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}

Add it to your Home Manager packages or environment.systemPackages:

# Home Manager
home.packages = [
inputs.shell.packages.${pkgs.system}.default
];
# Or system-wide
environment.systemPackages = [
inputs.shell.packages.${pkgs.system}.default
];

In your Niri config:

spawn-at-startup "gpuishell"
binds {
Mod+Return hotkey-overlay-title="Open Launcher" { spawn "gpuishell"; }
}

In your Hyprland config:

exec-once = gpuishell
bind = $mainMod, Return, exec, gpuishell

On first launch, a default config file is created at ~/.config/gpuishell/config.toml. Edit it to customize the shell. See the Configuration Reference for details.

For example, to change bar widget positions:

[bar]
position = "top"
start = ["LauncherBtn", "Workspaces"]
center = ["Clock"]
end = ["Systray", "Battery", "Settings"]