Installation
Open Sesame can be installed via APT repository, from GitHub releases, or built from source.
From APT Repository (Recommended)
For Pop!_OS 24.04+ with COSMIC Desktop:
# Add GPG key and repository
curl -fsSL https://scopecreep-zip.github.io/open-sesame/gpg.key \
| sudo gpg --dearmor -o /usr/share/keyrings/open-sesame.gpg
echo "deb [signed-by=/usr/share/keyrings/open-sesame.gpg] https://scopecreep-zip.github.io/open-sesame noble main" \
| sudo tee /etc/apt/sources.list.d/open-sesame.list
# Install and configure
sudo apt update && sudo apt install -y open-sesame
sesame --setup-keybinding
This method provides automatic updates through the standard APT package manager.
From GitHub Releases
Download the .deb package for your architecture from the Releases page:
Download (auto-detects architecture):
curl -fsSL "https://github.com/ScopeCreep-zip/open-sesame/releases/latest/download/open-sesame-linux-$(uname -m).deb" -o /tmp/open-sesame.deb
Verify and install:
gh attestation verify /tmp/open-sesame.deb --owner ScopeCreep-zip
sudo dpkg -i /tmp/open-sesame.deb && sesame --setup-keybinding
Available architectures:
x86_64- Intel/AMD 64-bitaarch64- ARM 64-bit (Raspberry Pi 4+, ARM servers)
Verify Package Authenticity
All packages include SLSA Build Provenance attestations for supply chain security.
Verify with GitHub CLI:
gh attestation verify "open-sesame-linux-$(uname -m).deb" --owner ScopeCreep-zip
Verify SHA256 checksums:
Each release includes a SHA256SUMS.txt file. Download it from the release page and verify:
sha256sum -c SHA256SUMS.txt
Building from Source
Requires COSMIC desktop environment and development tools.
Prerequisites
# Install mise (task runner and toolchain manager)
curl https://mise.run | sh
# Clone repository
git clone https://github.com/ScopeCreep-zip/open-sesame.git
cd open-sesame
# Install dependencies (Rust toolchain, cargo-deb, etc.)
mise run setup
Build and Install
# Build .deb package
mise run build:deb
# Install the package
mise run install
The .deb package will be created in target/debian/.
Development Workflow
If you want to contribute or modify Open Sesame:
# Format code
mise run fmt
# Run tests and linters
mise run test
# Build debug binary and run
mise run dev
# Clean everything
mise run clean:all
See mise tasks for all available commands.
System Requirements
Required
- COSMIC Desktop Environment (Pop!_OS 24.04+ or other COSMIC-based distributions)
- Wayland compositor (X11 is NOT supported)
- fontconfig with at least one font installed
Optional (for building from source)
- Rust 1.91+ (installed automatically via mise)
- cargo-deb (for building .deb packages)
- cross (for cross-compilation to arm64)
Post-Installation
After installation, you need to set up a keybinding:
# Setup default keybinding (Alt+Space)
sesame --setup-keybinding
# Or specify a custom key combo
sesame --setup-keybinding alt+tab
This configures COSMIC desktop to launch Open Sesame when you press the key combination.
Uninstallation
To remove Open Sesame:
# Remove keybinding first (optional but recommended)
sesame --remove-keybinding
# Uninstall package
sudo apt remove open-sesame
# Optional: Remove configuration files
rm -rf ~/.config/open-sesame
Troubleshooting Installation
Package Not Found
If apt install open-sesame fails with “package not found”:
-
Verify the repository was added correctly:
cat /etc/apt/sources.list.d/open-sesame.list -
Check that the GPG key exists:
ls -la /usr/share/keyrings/open-sesame.gpg -
Update package lists:
sudo apt update
Dependency Errors
If installation fails due to missing dependencies:
# Install dependencies manually
sudo apt install --fix-broken
Build Failures
If building from source fails:
-
Ensure all system dependencies are installed:
sudo apt install build-essential pkg-config libfontconfig1-dev libxkbcommon-dev -
Check Rust toolchain version:
rustc --version # Should be 1.91 or newer -
Clean and retry:
mise run clean:all mise run build:deb
Next Steps
- Basic Usage - Learn how to use Open Sesame
- Configuration - Customize key bindings and settings
- CLI Reference - Explore all command-line options