Skip to content

Building

Building

Guide for building sysc-greet from source.

Prerequisites

  • Go 1.25+
  • git

Build Binary

go build -o sysc-greet ./cmd/sysc-greet/

For versioned builds, the Makefile uses ldflags to inject build information:

make build

This sets: - main.Version - Git tag or "dev" - main.GitCommit - Short commit hash - main.BuildDate - Build timestamp

Build Installer

go build -o install-sysc-greet cmd/installer/main.go

Or using Make:

make installer

Cross-Compilation

To cross-compile for different architectures:

# For Linux ARM64
GOARCH=arm64 go build -o sysc-greet ./cmd/sysc-greet/

# For Windows (not supported for production)
GOOS=windows go build -o sysc-greet.exe ./cmd/sysc-greet/

Verification

Test the built binary:

# Run in test mode
./sysc-greet --test

# Run with debug logging
./sysc-greet --test --debug

Clean Build Artifacts

Remove compiled binaries and generated files:

make clean

Or manually:

rm -f sysc-greet install-sysc-greet

Dependencies

Runtime dependencies that must be installed on the system: - greetd - Wayland compositor (niri, hyprland, or sway) - kitty (terminal emulator) - gSlapper (wallpaper daemon)

See Installation for dependency installation instructions.