Files
mesh-catalog/modules/lemurs/config/config.toml
T
jochen 98eb3fe33c lemurs: the login manager holds node-login-manager, its config in the current format (hq ADR 0208)
The official package in place of lemurs-git, and /etc/lemurs/config.toml in lemurs
0.4's structure. It offers only the session scripts that modules place in
/etc/lemurs/wms and /etc/lemurs/wayland, never a package's bare desktop entry, which
skips the session's start. The service is enabled and never started, stopped or
restarted by a push.

The tools are the seat's sessions, the default session (lemurs's cache, through
sudo -n) and logins from the journal and lemurs's own log. The package swap from
lemurs-git is a one-off step for the operator, listed in the README.
2026-10-04 13:21:47 +02:00

369 lines
11 KiB
TOML

# The login manager's configuration, written by the mesh (module lemurs, novox/hq ADR 0208). Replaced
# at every push; change the module instead. The structure is lemurs 0.4's own (the shipped file, with
# every option, as lemurs requires); what the mesh changes from it is marked "mesh:".
#
# The sessions offered are the executable files other modules place in the two scripts directories
# below (/etc/lemurs/wms for X, /etc/lemurs/wayland for Wayland), one per session module. A file there
# is named as the session is offered. Desktop entries that packages install (/usr/share/xsessions) are
# not offered: they start the window manager bare, skipping the session's start (~/.xinitrc), which is
# where the account's environment, the X resources and every module's session lines are.
#
# Lemurs configuration file.
# Contains all the customization options of lemurs.
#
# Note: that as of now you need to have all options in the selected
# configuration file. Otherwise Lemurs will not work.
#
# Colors:
# ---------
# There is a list of predefined colors. These include:
# - black
# - white
# - (dark) gray
# - (light) red
# - (light) blue
# - (light) green
# - (light) magenta
# - (light) cyan
# - (light) yellow
# - orange
#
# You can also utilize custom colors with hex color codes.
# "#87CEEB" will create a Sky Blue color.
#
# Note: If the color wasn't recognized, it will default to white.
# ---------
#
# Modifiers:
# ---------
# There is a number of modifiers you can use. These can be combined by
# delimiting them with a comma (e.g. "bold,italic"). The modifiers are:
# - bold
# - dim
# - italic
# - underlined
# - reverse
# - crossed out
# - hidden
# ---------
#
# The tty which contains lemurs. This has to be mirrored in the lemurs.service
tty = 2
# Where to log the main lemurs control flow.
main_log_path = "/var/log/lemurs.log"
# Where to log to for the client. The Client is the Desktop Environment or
# Window Manager for Xorg, the Compositor for Wayland and the Shell for TTY.
client_log_path = "/var/log/lemurs.client.log"
# At which point to point the cache. If you want to disable the cache globally
# you can use `/dev/null`.
cache_path = "/var/cache/lemurs"
# Disable all logging. This is overwritten by the `--no-log` flag.
do_log = true
# The PAM service that should be used to login
pam_service = "lemurs"
# Path to system shell that gets used to execute linux commands. In almost all
# cases, this should refer to a bash shell.
system_shell = "/bin/sh"
# Initial state of the `PATH` environment variable.
initial_path = "/usr/local/sbin:/usr/local/bin:/usr/bin"
# The type flag that will be appended to the shell that calls the session
# environment. This may depend on your shell. Options:
# - 'none'. Disables calling a login shell
# - 'short'. Produces the `-l` flag. Supported by most shells.
# - 'long'. This produces the `--login` flag and is suited for bash and zsh.
shell_login_flag = "short"
# Focus behaviour of fields when Lemurs is initially started
#
# Possible values:
# - default: Initially focus on first non-cached value
# - no-focus: No initial focus
# - environment: Initially focus on the environment selector
# - username: Initially focus on the username field
# - password: Initially focus on the password field
focus_behaviour = "default"
# General settings for background style
[background]
# Control whether to render background widget or not
show_background = false
[background.style]
# Allow to set the default background color for the login shell
color = "black"
# Settings for the background block's borders
show_border = true
border_color = "white"
[power_controls]
# The margin between hints
hint_margin = 2
# There are no additional entries by default
entries = []
# Example
# Reboot to another os option
#[[power_controls.entries]]
## The text in the top-left to display how to reboot.
#hint = "Reboot to OS"
#
## The color and modifiers of the hint in the top-left corner
#hint_color = "dark gray"
#hint_modifiers = ""
#
## The key used to reboot. Possibilities are F1 to F12.
#key = "F3"
## The command that is executed when the key is pressed
#cmd = "efibootmgr -n0 && systemctl reboot -l"
# If you want to remove the base_entries
# base_entries = []
# Shutdown option
[[power_controls.base_entries]]
# The text in the top-left to display how to shutdown.
hint = "Shutdown"
# The color and modifiers of the hint in the top-left corner
hint_color = "dark gray"
hint_modifiers = ""
# The key used to shutdown. Possibilities are F1 to F12.
key = "F1"
# The command that is executed when the key is pressed
cmd = "systemctl poweroff -l"
# Reboot option
[[power_controls.base_entries]]
# The text in the top-left to display how to reboot.
hint = "Reboot"
# The color and modifiers of the hint in the top-left corner
hint_color = "dark gray"
hint_modifiers = ""
# The key used to reboot. Possibilities are F1 to F12.
key = "F2"
# The command that is executed when the key is pressed
cmd = "systemctl reboot -l"
# Setting for the selector of the desktop environment you are using.
[environment_switcher]
# Terms:
# ---------
# Movers: indicators which show which direction one can move whilst selecting
# the desktop environment
# Selected: The currently selected desktop environment.
# Neighbours: The adjacent desktop environment to the one current selected
#
# Visualisation:
#
# < i3 bspwm awesome >
#
# ^ ^ ^ ^ ^
# | | | | |
# mover | selected | mover
# | |
# neighbour neighbour
# ---------
#
# Control the visibility of the switcher
# Options:
# - "visible" - Always show the switcher [default]
# - "hidden" - Always hide the switcher
# - [key] - F1-F12 to be able to toggle the visibility
# mesh: hidden, as both workstations had it, but F3 shows it, so a second session can be chosen.
switcher_visibility = "F3"
# The text in the top-left to display how to toggle the switcher. The text
# '%key%' will be replaced with the switcher_visibility key. This is not shown
# if switcher_visibility is set to "visible" or "hidden".
toggle_hint = "Switcher %key%"
# The color and modifiers of the hint in the top-left corner
toggle_hint_color = "dark gray"
toggle_hint_modifiers = ""
# Show an option for the TTY shell when logging in as one of the environments.
# NOTE: it is always shown when no viable options are found.
include_tty_shell = false
# Remember the selected environment after logging in for the next time
remember = true
# Enables showing the movers
show_movers = true
# Mover's color and modifiers whilst the selector is unfocused
mover_color = "dark gray"
mover_modifiers = ""
# Mover's color and modifiers whilst the selector is focused
mover_color_focused = "orange"
mover_modifiers_focused = "bold"
# The characters used to display the movers. Suggestions are:
# - "<" ">"
# - "<-" "->"
# - "<<" ">>"
# - "[" "]"
left_mover = "<"
right_mover = ">"
# The margin between the movers and the neighbours or selected (depending on
# `show_neighbours`)
mover_margin = 1
# Enables showing the neighbours
show_neighbours = true
# Neighbours' color and modifiers whilst the selector is unfocused
neighbour_color = "dark gray"
neighbour_modifiers = ""
# Neighbours' color and modifiers whilst the selector is focused
neighbour_color_focused = "gray"
neighbour_modifiers_focused = ""
# Margin between neighbours and selected
neighbour_margin = 1
# Selected's color and modifiers whilst the selector is unfocused
selected_color = "gray"
selected_modifiers = "underlined"
# Selected's color and modifiers whilst the selector is focused
selected_color_focused = "white"
selected_modifiers_focused = "bold"
# The length of the name of the desktop environment which is displayed.
max_display_length = 8
# The text used when no desktop environments are available
no_envs_text = "No environments..."
# The color and modifiers of the 'no desktop environments available text'
# whilst the selector is unfocused
no_envs_color = "white"
no_envs_modifiers = ""
# The color and modifiers of the 'no desktop environments available text'
# whilst the selector is focused
no_envs_color_focused = "red"
no_envs_modifiers_focused = ""
[username_field]
# Remember the username for the next time after a successful login attempt.
remember = true
[username_field.style]
# Enables showing a title
show_title = true
# The text used within the title
title = "Login"
# The title's color and modifiers whilst the username field is unfocused
title_color = "white"
content_color = "white"
# The title's color and modifiers whilst the username field is focused
title_color_focused = "orange"
content_color_focused = "orange"
# Enables showing the borders
show_border = true
# The borders' color and modifiers whilst the username field is unfocused
border_color = "white"
# The borders' color and modifiers whilst the username field is focused
border_color_focused = "orange"
# Constrain the width of the username field
use_max_width = true
# The constraint of the username field's width
max_width = 48
[password_field]
# The character used for replacement when typing a password. Leave empty for no
# feedback.
# Note: Only one character is accepted.
content_replacement_character = "*"
[password_field.style]
# Enables showing a title
show_title = true
# The text used within the title
title = "Password"
# The title's color and modifiers whilst the password field is unfocused
title_color = "white"
content_color = "white"
# The title's color and modifiers whilst the password field is focused
title_color_focused = "orange"
content_color_focused = "orange"
# Enables showing the borders
show_border = true
# The borders' color and modifiers whilst the password field is unfocused
border_color = "white"
# The borders' color and modifiers whilst the password field is focused
border_color_focused = "orange"
# Constrain the width of the password field
use_max_width = true
# The constraint of the password field's width
max_width = 48
[x11]
# Where to log to for the XServer.
xserver_log_path = "/var/log/lemurs.xorg.log"
# The value of the `DISPLAY` environment variable for X11 sessions
x11_display = ":1"
# How many seconds to give the X server to start. To make it infinitely, put it
# to 0.
xserver_timeout_secs = 60
# Where to find the X11 server binary
xserver_path = "/usr/bin/X"
# Where to find the X11 xauth binary
xauth_path = "/usr/bin/xauth"
# Path to the directory where the startup scripts for the X11 sessions are found
scripts_path = "/etc/lemurs/wms"
# Path to the xsetup script that is needed for the environment setup of the
# window manager.
xsetup_path = "/etc/lemurs/xsetup.sh"
# The directory to use for desktop entries X11 sessions.
# mesh: an empty directory of the module's own, so no package's desktop entry is offered.
xsessions_path = "/etc/lemurs/xsessions"
[wayland]
# Path to the directory where the startup scripts for the Wayland sessions are
# found
scripts_path = "/etc/lemurs/wayland"
# The directory to use for desktop entries wayland sessions.
# mesh: likewise for Wayland.
wayland_sessions_path = "/etc/lemurs/wayland-sessions"