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";

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.