added ly display manager

This commit is contained in:
Tomas Rivera
2026-03-01 19:44:16 +01:00
parent 146d3cd512
commit 4170904bbd
3 changed files with 386 additions and 6 deletions
+304
View File
@@ -0,0 +1,304 @@
{ ...}:
{
services.displayManager.ly = {
enable = true;
settings = {
animation = "gameoflife"; # none or doom or matrix or gameoflife or a dur file
animation_frame_delay = 5;
animation_timeout_sec = 0;
asterisk = "0x2022";
auth_fails = 2; # numbers of failed authentification before special animation
battery_id = "BAT1";
bigclock = "en";
bigclock_12hr = false;
bigclock_seconds = false;
# Blank main box background
# Setting to false will make it transparent
blank_box = false;
# Border foreground color id
border_fg = "0x00FFFFFF";
# Title to show at the top of the main box
# If set to null, none will be shown
box_title = null;
# Brightness decrease command
brightness_down_cmd = "$PREFIX_DIRECTORY/bin/brightnessctl -q -n s 10%-";
# Brightness decrease key combination, or null to disable
brightness_down_key = "F5";
# Brightness increase command
brightness_up_cmd = "$PREFIX_DIRECTORY/bin/brightnessctl -q -n s +10%";
# Brightness increase key combination, or null to disable
brightness_up_key = "F6";
# Erase password input on failure
clear_password = true;
# Format string for clock in top right corner (see strftime specification). Example: %c
# If null, the clock won't be shown
clock = true;
# CMatrix animation foreground color id
cmatrix_fg = "0x0000FF00";
# CMatrix animation character string head color id
cmatrix_head_col = "0x01FFFFFF";
# CMatrix animation minimum codepoint. It uses a 16-bit integer
# For Japanese characters for example, you can use 0x3000 here
cmatrix_min_codepoint = "0x21";
# CMatrix animation maximum codepoint. It uses a 16-bit integer
# For Japanese characters for example, you can use 0x30FF here
cmatrix_max_codepoint = "0x7B";
# Color mixing animation first color id
colormix_col1 = "0x00FF0000";
# Color mixing animation second color id
colormix_col2 = "0x000000FF";
# Color mixing animation third color id
colormix_col3 = "0x20000000";
# Custom sessions directory
# You can specify multiple directories,
# e.g. $CONFIG_DIRECTORY/ly/custom-sessions:$PREFIX_DIRECTORY/share/custom-sessions
custom_sessions = "$CONFIG_DIRECTORY/ly/custom-sessions";
# Input box active by default on startup
# Available inputs: info_line, session, login, password
default_input = "password";
# DOOM animation fire height (1 thru 9)
doom_fire_height = 6;
# DOOM animation fire spread (0 thru 4)
doom_fire_spread = 2;
# DOOM animation custom top color (low intensity flames)
doom_top_color = "0x009F2707";
# DOOM animation custom middle color (medium intensity flames)
doom_middle_color = "0x00C78F17";
# DOOM animation custom bottom color (high intensity flames)
doom_bottom_color = "0x00FFFFFF";
# Dur file path
dur_file_path = "$CONFIG_DIRECTORY/ly/example.dur";
# Dur file alignment
# The dur file can be aligned with a direction and centered easily with the flags below
# Available inputs: topleft, topcenter, topright, centerleft, center, centerright, bottomleft, bottomcenter, bottomright
dur_offset_alignment = "center";
# Dur offset x direction (value is added to the current position determined by alignment, negatives are supported)
dur_x_offset = 0;
# Dur offset y direction (value is added to the current position determined by alignment, negatives are supported)
dur_y_offset = 0;
# Set margin to the edges of the DM (useful for curved monitors)
edge_margin = 0;
# Error background color id
error_bg = "0x00000000";
# Error foreground color id
# Default is red and bold
error_fg = "0x01FF0000";
# Foreground color id
fg = "0x00FFFFFF";
# Render true colors (if supported)
# If false, output will be in eight-color mode
# All eight-color mode color codes:
# TB_DEFAULT 0x0000
# TB_BLACK 0x0001
# TB_RED 0x0002
# TB_GREEN 0x0003
# TB_YELLOW 0x0004
# TB_BLUE 0x0005
# TB_MAGENTA 0x0006
# TB_CYAN 0x0007
# TB_WHITE 0x0008
# If full color is off, the styling options still work. The colors are
# always 32-bit values with the styling in the most significant byte.
# Note: If using the dur_file animation option and the dur file's color range
# is saved as 256 with this option disabled, the file will not be drawn.
full_color = true;
# Game of Life entropy interval (0 = disabled, >0 = add entropy every N generations)
# 0 -> Pure Conway's Game of Life (will eventually stabilize)
# 10 -> Add entropy every 10 generations (recommended for continuous activity)
# 50+ -> Less frequent entropy for more natural evolution
gameoflife_entropy_interval = 10;
# Game of Life animation foreground color id
gameoflife_fg = "0x0000FF00";
# Game of Life frame delay (lower = faster animation, higher = slower)
# 1-3 -> Very fast animation
# 6 -> Default smooth animation speed
# 10+ -> Slower, more contemplative speed
gameoflife_frame_delay = 3;
# Game of Life initial cell density (0.0 to 1.0)
# 0.1 -> Sparse, minimal activity
# 0.4 -> Balanced activity (recommended)
# 0.7+ -> Dense, chaotic patterns
gameoflife_initial_density = 0.666;
# Command executed when pressing hibernate key (can be null)
hibernate_cmd = null;
# Specifies the key combination used for hibernate
hibernate_key = "F4";
# Remove main box borders
hide_borders = false;
# Remove power management command hints
hide_key_hints = false;
# Remove keyboard lock states from the top right corner
hide_keyboard_locks = false;
# Remove version number from the top left corner
hide_version_string = false;
# Command executed when no input is detected for a certain time
# If null, no command will be executed
inactivity_cmd = null;
# Executes a command after a certain amount of seconds
inactivity_delay = 0;
# Initial text to show on the info line
# If set to null, the info line defaults to the hostname
initial_info_text = null;
# Input boxes length
input_len = 34;
# Active language
# Available languages are found in $CONFIG_DIRECTORY/ly/lang/
lang = "en";
# Command executed when logging in
# If null, no command will be executed
# Important: the code itself must end with `exec "$@"` in order to launch the session!
# You can also set environment variables in there, they'll persist until logout
login_cmd = null;
# Path for login.defs file (used for listing all local users on the system on
# Linux)
#login_defs_path = /etc/login.defs
# Command executed when logging out
# If null, no command will be executed
# Important: the session will already be terminated when this command is executed, so
# no need to add `exec "$@"` at the end
logout_cmd = null;
# General log file path
#ly_log = /var/log/ly.log
# Main box horizontal margin
margin_box_h = 2;
# Main box vertical margin
margin_box_v = 1;
# Set numlock on/off at startup
numlock = false;
# Default path
# If null, ly doesn't set a path
#path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Command executed when pressing restart_key
#restart_cmd = "/sbin/shutdown -r now"
# Specifies the key combination used for restart
restart_key = "F2";
# Save the current desktop and login as defaults, and load them on startup
save = true;
# Service name (set to ly to use the provided pam config file)
service_name = "ly";
# Session log file path
# This will contain stdout and stderr of Wayland sessions
# By default it's saved in the user's home directory
# Important: due to technical limitations, X11, shell sessions as well as
# launching session via KMSCON aren't supported, which means you won't get any
# logs from those sessions.
# If null, no session log will be created
session_log = null;
# Setup command
setup_cmd = "$CONFIG_DIRECTORY/ly/setup.sh";
# Command executed when pressing shutdown_key
shutdown_cmd = "/sbin/shutdown $PLATFORM_SHUTDOWN_ARG now";
# Specifies the key combination used for shutdown
shutdown_key = "F1";
# Command executed when pressing sleep key (can be null)
sleep_cmd = null;
# Specifies the key combination used for sleep
sleep_key = "F3";
# Command executed when starting Ly (before the TTY is taken control of)
# See file at path below for an example of changing the default TTY colors
start_cmd = "$CONFIG_DIRECTORY/ly/startup.sh";
# Center the session name.
text_in_center = false;
# Default vi mode
# normal -> normal mode
# insert -> insert mode
vi_default_mode = "normal";
# Enable vi keybindings
vi_mode = false;
# Wayland desktop environments
# You can specify multiple directories,
# e.g. $PREFIX_DIRECTORY/share/wayland-sessions:$PREFIX_DIRECTORY/local/share/wayland-sessions
waylandsessions = "$PREFIX_DIRECTORY/share/wayland-sessions";
# Xorg server command
x_cmd = "$PREFIX_DIRECTORY/bin/X";
# Xorg virtual terminal number
# Mostly useful for FreeBSD where choosing the current TTY causes issues
# If null, the current TTY will be chosen
x_vt = null;
# Xorg xauthority edition tool
xauth_cmd = "$PREFIX_DIRECTORY/bin/xauth";
# xinitrc
# If null, the xinitrc session will be hidden
xinitrc = "~/.xinitrc";
# Xorg desktop environments
# You can specify multiple directories,
# e.g. $PREFIX_DIRECTORY/share/xsessions:$PREFIX_DIRECTORY/local/share/xsessions
xsessions = "$PREFIX_DIRECTORY/share/xsessions";
};
};
}