Install Waycast
Currently Waycast is only packaged for nix. Efforts are being made to package it for the other major distros.
If you don’t use nix, you can always build from source.
IMPORTANT NOTE FOR HYPRLAND
If you want waycast to start up even faster, remove the default “fade” animation hyprland adds to layer shell windows:
Nix
layerrule = [
"noanim, Waycast"
];
Other
layerrule = "noanim, Waycast";
Nix installation
Add this repository as a flake input:
inputs.waycast.url = "git+https://gitgud.boo/javif89/waycast";
Home Manager (recommended)
Import the Waycast module in your Home Manager configuration.
{
imports = [ inputs.waycast.homeModules.default ];
programs.waycast = {
enable = true;
settings = {
plugins.projects = {
search_paths = [ "/absolute/path/to/projects" ];
skip_dirs = [ "node_modules" "target" ".git" ];
open_command = "code -n {path}";
};
plugins.file_search = {
search_paths = [ "/absolute/path/to/search" ];
ignore_dirs = [ "scripts" "temp" ];
};
};
};
}
For Home Manager configured as a NixOS module, place the import and
programs.waycast configuration under your user:
home-manager.users.youruser = {
imports = [ inputs.waycast.homeModules.default ];
programs.waycast.enable = true;
};
For standalone Home Manager, add the module to homeConfigurations:
homeConfigurations.youruser = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
waycast.homeModules.default
{
programs.waycast.enable = true;
}
];
};
Enabling the module installs Waycast and creates waycast-daemon.service, a
systemd user service that starts with graphical-session.target and restarts
the background process if it exits. Running waycast from a terminal or window
manager keybind then signals the background process to open the UI.
Your desktop environment or window manager must activate the systemd user graphical session. For example, Home Manager’s Hyprland module should have its systemd integration enabled. After applying your configuration, check the service with:
systemctl --user status waycast-daemon.service
Package only
The package is also available without the Home Manager module:
# NixOS
environment.systemPackages = [
inputs.waycast.packages.${pkgs.stdenv.hostPlatform.system}.default
];
# Home Manager
home.packages = [
inputs.waycast.packages.${pkgs.stdenv.hostPlatform.system}.default
];
Or install it into a Nix profile:
nix profile install 'git+https://gitgud.boo/javif89/waycast'
Package-only installation does not create the required background service. You
must arrange for waycast to start with your graphical session yourself.