Development
Building
Guide for building sysc-greet from source.
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 buildThis sets:
main.Version- Git tag or "dev"main.GitCommit- Short commit hashmain.BuildDate- Build timestamp
Build Installer
go build -o install-sysc-greet cmd/installer/main.goOr using Make:
make installerCross-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 --debugClean Build Artifacts
Remove compiled binaries and generated files:
make cleanOr manually:
rm -f sysc-greet install-sysc-greetDependencies
Runtime dependencies that must be installed on the system:
- greetd
- Wayland compositor: niri (default), cagebreak, sway, or hyprland (deprecated)
- socat (cagebreak only — quits the compositor after login)
- kitty (terminal emulator)
- gSlapper (wallpaper daemon)
See Installation for dependency installation instructions.
