Files
komorebi/docs/macos/installation.md
T

3.7 KiB

Getting started

komorebi is a tiling window manager for macOS that is comprised of two main binaries, komorebi, which contains the window manager itself, and komorebic, which is the main way to send commands to the tiling window manager.

It is important to note that neither komorebi nor komorebic handle key bindings, because komorebi is a tiling window manager and not a hotkey daemon.

This getting started guide suggests the installation of skhd to allow you to bind komorebic commands to hotkeys to allow you to communicate with the tiling window manager using keyboard shortcuts.

Installation

Nightly builds, built from the LGUG2Z/komorebi repository, are available to install via Homebrew, and you may also build from source if you would prefer.

System settings suggestions

Go to System Settings -> Desktop & Dock -> Mission Control -> Displays have separate Spaces and disable this option if you are using more than one monitor.

komorebi is scoped to a single macOS space (the one that is active when the process is started), which means that you can still use other Spaces as if komorebi were not running at all. If you are using monitors with the above option enabled, komorebi will only be listening to events from the Space on the monitor which it was launched on.

Go to System Settings -> Desktop & Dock -> Mission Control -> Group windows by application and disable this option if you like to use mission control.

Homebrew

First add the lgug2z/tap Homebrew Tap

brew tap lgug2z/tap

Then install the komorebi-for-mac-nightly package

brew install lgug2z/tap/komorebi-for-mac-nightly

You may also optionally install the skhd package

brew install skhd

Nix Flake

The macOS packages and the nix-darwin module are consumed from the LGUG2Z/komorebi repository.

Add the repository as an input

{
  inputs.komorebi.url = "github:LGUG2Z/komorebi";
}

Add the overlay to your system's nixpkgs configuration

{
  pkgs = import nixpkgs {
    inherit system;
    overlays = [ komorebi.overlays.macos ];
    # the rest of your pkgs configuration
  };
}

Add pkgs.komorebi-full to environment.systemPackages (you may also add pkgs.komorebi, pkgs.komorebic and pkgs.komorebi-bar individually)

{
  environment.systemPackages = [
    pkgs.komorebi-full
  ];
}

Building from source

Make sure you have installed rustup, and a stable rust compiler toolchain.

Clone the git repository, enter the directory, and build the following binaries:

cargo +stable install --path komorebi --locked --target-dir ~/.cargo/bin
cargo +stable install --path komorebic --locked --target-dir ~/.cargo/bin
cargo +stable install --path komorebi-bar --locked --target-dir ~/.cargo/bin

If the binaries have been built and added to your $PATH correctly, you should see some output when running komorebi --help and komorebic --help

Once komorebi is installed, proceed to get the example configurations.

Uninstallation

Before uninstalling, first run komorebic stop to make sure that the komorebi processes have been stopped.

Finally, you can run the following commands to clean up files created by the quickstart command and any other runtime files:

rm -rf ~/.cargo/bin/komorebi
rm -rf ~/.cargo/bin/komorebic
rm -rf ~/.cargo/bin/komorebi-bar
rm -rf ~/.config/komorebi
rm -rf "~/Library/Application Support/komorebi"