Slowshell is(currently) a self-contained single binary, so the installation process is pretty much straight-forward.

What do I need?

Slowshell is a wayland layer-shell client. Which means that you will need a wayland session on a compositor that supports said clients. Currently niri, sway and hyprland are supported out of the box.

Optional Dependencies: These are not fatal requirements, but provide inner machinery for the various components within:

FeatureRequires
Audio + MPRISPipeWire and wpctl
BluetoothBlueZ
NetworkingNetworkManager
Power/brightnessUPower, power-profiles-daemon, brightnessctl
Wallpapersswaybg, swww or hyprpaper (or use the built-in renderer)
Clipboardcliphist (+ wl-paste, wl-copy)

Install

Feel free to read the script before you run it:

curl -fsSL https://raw.githubusercontent.com/bushyice/slowshell/main/install.sh | sh
curl -fsSL .../install.sh | sh -s -- --version 0.0.1
curl -fsSL .../install.sh | sh -s -- --path /usr/local/bin
nix run github:bushyice/slowshell
nix profile install github:bushyice/slowshell

You can add slowshell as a flake input:

{
  inputs.slowshell.url = "github:bushyice/slowshell";

  outputs = { self, nixpkgs, slowshell, ... }: {
    nixosConfigurations.machine = nixpkgs.lib.nixosSystem {
      modules = [{
        environment.systemPackages = [
          slowshell.packages.${pkgs.system}.default
        ];
      }];
    };
  };
}

The flake also ships a module for declarative configuration:

{
  imports = [ inputs.slowshell.homeManagerModules.default ];

  programs.slowshell = {
    enable = true;
    package = inputs.slowshell.packages.${pkgs.system}.default;
    systemd.enable = true;
  };
}

See Home Manager for the full option set.

For a detailed guide on building, check Building from source.

cargo build --release

Running

slowshell daemon     # Runs on foreground
slowshell start/stop # Managing on background

I have it, where to start?

After you install it, you can start setting up your shell.