A graphical console greeter for greetd, written in Go with the Bubble Tea framework.
- Mucho themes: Dracula, Gruvbox, Material, Nord, Tokyo Night, Catppuccin, Solarized, Monochrome, RAMA, DARK, TrainsIsHardJob, Eldritch.
- Background Effects: Fire (DOOM PSX), Matrix rain, ASCII rain, Fireworks, Aquarium
- ASCII Effects: Typewriter and Print effects for session text
- Border Styles: Classic, Modern, Minimal (best), ASCII-1, ASCII-2, Wave, Pulse
- Screensaver: Configurable idle timeout with ASCII art cycling
- Video Wallpapers: Multi-monitor support via gslapper
First, decide which compositor you want. sysc-greet will install the recommended default (niri), sysc-greet-hyperland installs the Hyprland variant, and sysc-greet-sway installs the Sway variant.
yay -S sysc-greetyay -S sysc-greet-hyprlandyay -S sysc-greet-swayThe installer lets you choose your compositor and handles all configuration:
git clone https://github.com/Nomadcxx/sysc-greet
cd sysc-greet/sysc-greet
go run ./cmd/installer/curl -fsSL https://raw.githubusercontent.com/Nomadcxx/sysc-greet/master/install.sh | sudo bashRequirements:
- Go 1.21+
- greetd
- Wayland compositor (niri, hyprland, or sway)
- kitty (terminal)
- swww (wallpaper daemon)
- gslapper (optional, for video wallpapers)
Build and install:
git clone https://github.com/Nomadcxx/sysc-greet
cd sysc-greet
go build -o sysc-greet ./cmd/sysc-greet/
sudo install -Dm755 sysc-greet /usr/local/bin/sysc-greetInstall assets:
sudo mkdir -p /usr/share/sysc-greet/{ascii_configs,fonts,wallpapers}
sudo cp -r ascii_configs/* /usr/share/sysc-greet/ascii_configs/
sudo cp -r fonts/* /usr/share/sysc-greet/fonts/
sudo cp -r wallpapers/* /usr/share/sysc-greet/wallpapers/
sudo cp config/kitty-greeter.conf /etc/greetd/kitty.confConfigure greetd (/etc/greetd/config.toml):
Choose your compositor and update the command below:
[terminal]
vt = 1
[default_session]
# Pick one:
command = "niri -c /etc/greetd/niri-greeter-config.kdl"
# command = "Hyprland -c /etc/greetd/hyprland-greeter-config.conf"
# command = "sway --unsupported-gpu -c /etc/greetd/sway-greeter-config"
user = "greeter"Create compositor config:
Copy the appropriate config file to /etc/greetd/:
# For niri:
sudo cp config/niri-greeter-config.kdl /etc/greetd/
# For hyprland:
sudo cp config/hyprland-greeter-config.conf /etc/greetd/
# For sway:
sudo cp config/sway-greeter-config /etc/greetd/Create greeter user:
sudo useradd -M -G video -s /usr/bin/nologin greeter
sudo mkdir -p /var/cache/sysc-greet /var/lib/greeter/Pictures/wallpapers
sudo chown -R greeter:greeter /var/cache/sysc-greet /var/lib/greeter
sudo chmod 755 /var/lib/greeterEnable service:
sudo systemctl enable greetd.serviceThere are two types of wallpapers you can use:
These auto-match your selected theme and are stored in /usr/share/sysc-greet/wallpapers/.
Format: sysc-greet-{theme}.png
Example: sysc-greet-nord.png automatically shows when Nord theme is active.
Adding themed wallpapers:
sudo cp ~/my-nord-bg.png /usr/share/sysc-greet/wallpapers/sysc-greet-nord.png
sudo chown greeter:greeter /usr/share/sysc-greet/wallpapers/sysc-greet-nord.pngVideo wallpapers are managed by gSlapper and stored in /var/lib/greeter/Pictures/wallpapers/.
Supported formats: MP4, WebM
Adding video wallpapers:
sudo cp ~/Videos/cool-animation.mp4 /var/lib/greeter/Pictures/wallpapers/
sudo chown greeter:greeter /var/lib/greeter/Pictures/wallpapers/cool-animation.mp4Accessing wallpapers:
Press F1 (Settings) β Backgrounds β Select your wallpaper or video
Custom ASCII art configs in /usr/share/sysc-greet/ascii_configs/:
# cinnamon.conf
name=My Session
ascii_1=
π¬π¬π¬π¬ π¬π¬π¬π¬π¬π¬π¬π¬Ό π¬π¬π¬π¬π¬π¬Ό π¬π¬π¬ π¬π¬π¬π¬ π¬π¬π¬½ ππ¬π¬ π¬π¬π¬π¬ π¬π¬π¬Ό π¬π¬π¬
βββ π£π¬ βββ ββππ¬Ώβββββππ¬Ώββββββββββββππβββββββββββππ¬Ώβββ
βββ βββ βββπ₯πβββββπ₯πββββπ¬π¬«βββββπ£πββββββββββββπ₯πββ
βββ ππ¬ βββ βββ ββββββ ββββββββββββ ββββββββββββ βββ
π¬π¬π¬π¬ π¬π¬π¬π¬π¬π¬π¬π¬ π¬π¬π¬π¬π¬π¬ π¬π¬π¬π¬π¬π¬π¬π¬π¬π¬π¬π¬ π¬π¬π¬ π¬π¬π¬π¬ π¬π¬π¬ π¬π¬π¬
ascii_2=
πΊ π΅‘πΆπΊ£Β πΆπ΅‘Β βπΊ£βββπΊ£ββΒ π·πΊ£Β βπΊ£π·βπ·π΄§πΆπΊ£βπΊ£ββ
βΒ Β πΊ¨Β ββΒ βπ΄¦π·₯ββπ΄¦π·₯βπ·₯πΆ¬π·π΅βπ΄¦βββΒ βββπ΄¦π·₯β
π΄¦πΆ»π·π―¦Β π·π·Β βΒ βββΒ βββΒ βββΒ ββπΆ«βπ·π΄βΒ ββ
For more customization options (screensaver, compositor configs, etc.), see CONFIGURATION.md
- F1 - Settings menu (themes, borders, backgrounds)
- F2 - Session selection
- F3 - Release notes
- F4 - Power menu (shutdown/reboot)
- Page Up/Down - Cycle ASCII variants
- Tab - Navigate fields
- Enter - Submit/Continue
- Esc - Cancel/Return to previous screen
Test the greeter without locking your session:
sysc-greet --test
# Test in fullscreen (recommended for accurate preview)
kitty --start-as=fullscreen sysc-greet --testsysc-greet --theme dracula # Start with specific theme
sysc-greet --border ascii-2 # Start with specific border
sysc-greet --screensaver # Enable screensaver in test mode- tuigreet by apognu - Original inspiration and base
- Bubble Tea by Charm - TUI framework
- Lipgloss by Charm - Terminal styling
- greetd by kennylevinsen - Login manager
MIT