A graphical console greeter for greetd, written in Go with the Bubble Tea framework.
- Full Documentation - Complete guides, configuration, and usage instructions
One-line installer that works on most Linux distributions:
curl -fsSL https://raw.githubusercontent.com/Nomadcxx/sysc-greet/master/install.sh | sudo bashThe installer automatically detects your package manager and works on Arch Linux, Debian/Ubuntu, Fedora, and openSUSE. It'll handle greeter backend selection, install dependencies, and set everything up for you.
Hyprland greeter support ends in ~3 months. New installs should choose niri (default) or cagebreak, its replacement.
If you want to build it yourself, just clone the repo and run the installer:
git clone https://github.com/Nomadcxx/sysc-greet
cd sysc-greet
go run ./cmd/installer/The installer walks you through compositor selection and configuration.
Three AUR packages available depending on which greeter backend you're using:
# niri (default)
yay -S sysc-greet
# Hyprland variant (deprecated, replaced by cagebreak)
yay -S sysc-greet-hyprland
# Sway variant
yay -S sysc-greet-swayFor cagebreak, run the installer with SYSC_COMPOSITOR=cagebreak — it installs cagebreak and socat itself (AUR on Arch, prebuilt release packages on Debian/Ubuntu/Fedora, source build elsewhere).
If you're on NixOS, add sysc-greet to your flake:
flake.nix:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
sysc-greet = {
url = "github:Nomadcxx/sysc-greet";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, sysc-greet, ... }: {
nixosConfigurations.your-hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
sysc-greet.nixosModules.default
];
};
};
}configuration.nix:
{
services.sysc-greet = {
enable = true;
compositor = "niri"; # or "cagebreak", "sway", "hyprland" (deprecated)
};
# Optional: Set initial session for auto-login
services.sysc-greet.settings.initial_session = {
command = "Hyprland";
user = "your-username";
};
}By default, the NixOS module does not install niri, cagebreak, hyprland, or sway.
Install your chosen backend yourself, or set niriPackage, cagebreakPackage, hyprlandPackage,
or swayPackage if you want the module to install and use a specific package.
If your compositor is managed elsewhere, set compositorCommand to the exact
command greetd should run.
Then rebuild:
sudo nixos-rebuild switch --flake .#your-hostnameNote: On NixOS, sysc-greet automatically uses the correct data directory via build-time path injection. The Nix store path is injected at build time, so no manual configuration or symlinks are needed (in theory)
Download pre-built packages from GitHub Releases:
Latest: v1.1.8
Debian/Ubuntu:
wget https://github.com/Nomadcxx/sysc-greet/releases/download/v1.1.8/sysc-greet_1.1.8_amd64.deb
sudo apt install ./sysc-greet_1.1.8_amd64.debFedora:
wget https://github.com/Nomadcxx/sysc-greet/releases/download/v1.1.8/sysc-greet-1.1.8-1.x86_64.rpm
sudo dnf install ./sysc-greet-1.1.8-1.x86_64.rpmSee Installation Guide for details.
For detailed docs, configuration guides, troubleshooting, and usage instructions, check out the full documentation site.
GPL-3.0

