ly instead of SDDM

This commit is contained in:
2026-02-22 22:17:36 +01:00
parent 9359884f8c
commit 3963c09a90
5 changed files with 512 additions and 345 deletions

294
build.sh
View File

@@ -10,10 +10,10 @@ MAGENTA="\033[1;35m"
CYAN="\033[1;36m" CYAN="\033[1;36m"
RESET="\033[0m" RESET="\033[0m"
log_info() { printf "${CYAN}[*]${RESET} %s\n" "$1"; } log_info() { printf "${CYAN}[*]${RESET} %s\n" "$1"; }
log_success() { printf "${GREEN}[✓]${RESET} %s\n" "$1"; } log_success() { printf "${GREEN}[✓]${RESET} %s\n" "$1"; }
log_warn() { printf "${YELLOW}[!]${RESET} %s\n" "$1"; } log_warn() { printf "${YELLOW}[!]${RESET} %s\n" "$1"; }
log_error() { printf "${RED}[✗]${RESET} %s\n" "$1"; } log_error() { printf "${RED}[✗]${RESET} %s\n" "$1"; }
ORIG_PWD=$(pwd) ORIG_PWD=$(pwd)
ORIG_USER=$(logname) ORIG_USER=$(logname)
@@ -21,7 +21,7 @@ ORIG_HOME=$(getent passwd "$ORIG_USER" | cut -d: -f6)
# === Elevate to root if needed === # === Elevate to root if needed ===
if [ "$(id -u)" -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
exec sudo "$0" "$@" exec sudo "$0" "$@"
fi fi
# === Package Groups === # === Package Groups ===
@@ -39,7 +39,7 @@ SYSTEM_TOOLS="
" "
DISPLAY_MANAGER=" DISPLAY_MANAGER="
sddm ly
qt5-graphicaleffects qt5-graphicaleffects
qt5ct qt5ct
qt6ct qt6ct
@@ -96,206 +96,180 @@ MEDIA_PACKAGES="
# === Functions === # === Functions ===
update_system() { update_system() {
log_info "Updating system..." log_info "Updating system..."
pacman -Syu --noconfirm pacman -Syu --noconfirm
} }
install_packages() { install_packages() {
log_info "Installing packages..." log_info "Installing packages..."
pacman -Sy --noconfirm --needed \ pacman -Sy --noconfirm --needed \
$ESSENTIAL_PACKAGES \ $ESSENTIAL_PACKAGES \
$SYSTEM_TOOLS \ $SYSTEM_TOOLS \
$DISPLAY_MANAGER \ $DISPLAY_MANAGER \
$WAYLAND_ENVIRONMENT \ $WAYLAND_ENVIRONMENT \
$AUDIO_PACKAGES \ $AUDIO_PACKAGES \
$FONTS_AND_THEME \ $FONTS_AND_THEME \
$NETWORK_AND_APPS \ $NETWORK_AND_APPS \
$MEDIA_PACKAGES $MEDIA_PACKAGES
} }
install_nvidia_drivers() { install_nvidia_drivers() {
log_info "Checking for NVIDIA GPU..." log_info "Checking for NVIDIA GPU..."
if lspci | grep -i 'vga\|3d' | grep -iq 'nvidia'; then if lspci | grep -i 'vga\|3d' | grep -iq 'nvidia'; then
log_success "NVIDIA GPU detected." log_success "NVIDIA GPU detected."
log_info "Installing NVIDIA drivers..." log_info "Installing NVIDIA drivers..."
pacman -Sy --noconfirm --needed nvidia-open nvidia-utils pacman -Sy --noconfirm --needed nvidia-open nvidia-utils
log_info "Running mkinitcpio..." log_info "Running mkinitcpio..."
mkinitcpio -P mkinitcpio -P
log_info "Enabling NVIDIA modeset..." log_info "Enabling NVIDIA modeset..."
mkdir -p /etc/modprobe.d mkdir -p /etc/modprobe.d
echo "options nvidia_drm modeset=1" > /etc/modprobe.d/nvidia.conf echo "options nvidia_drm modeset=1" >/etc/modprobe.d/nvidia.conf
else else
log_info "No NVIDIA GPU detected. Skipping NVIDIA driver installation." log_info "No NVIDIA GPU detected. Skipping NVIDIA driver installation."
fi fi
} }
install_system_files() { install_system_files() {
log_info "Installing system files from ./system_files to /..." log_info "Installing system files from ./system_files to /..."
if [ -d "system_files" ]; then if [ -d "system_files" ]; then
cp -a ./system_files/. / cp -a ./system_files/. /
chown root:root / chown root:root /
chown root:root /etc chown root:root /etc
chown root:root /usr chown root:root /usr
chown root:root /var chown root:root /var
chown root:root /run chown root:root /run
log_success "System files copied to root (/)." log_success "System files copied to root (/)."
else else
log_warn "'system_files' directory not found." log_warn "'system_files' directory not found."
fi fi
} }
apply_gtk_settings() { apply_gtk_settings() {
log_info "Applying GTK settings..." log_info "Applying GTK settings..."
export XDG_RUNTIME_DIR="/run/user/$(id -u "$ORIG_USER")" export XDG_RUNTIME_DIR="/run/user/$(id -u "$ORIG_USER")"
DBUS_ADDR="unix:path=${XDG_RUNTIME_DIR}/bus" DBUS_ADDR="unix:path=${XDG_RUNTIME_DIR}/bus"
for setting in \ for setting in \
"org.gnome.desktop.interface gtk-theme Graphite-Dark-compact" \ "org.gnome.desktop.interface gtk-theme Graphite-Dark-compact" \
"org.gnome.desktop.interface icon-theme Tela-grey-dark" \ "org.gnome.desktop.interface icon-theme Tela-grey-dark" \
"org.gnome.desktop.interface color-scheme prefer-dark" "org.gnome.desktop.interface color-scheme prefer-dark"; do
do if sudo -u "$ORIG_USER" \
if sudo -u "$ORIG_USER" \ DBUS_SESSION_BUS_ADDRESS="$DBUS_ADDR" \
DBUS_SESSION_BUS_ADDRESS="$DBUS_ADDR" \ gsettings set $setting; then
gsettings set $setting; then log_success "Set $setting"
log_success "Set $setting" else
else log_warn "Failed to set $setting"
log_warn "Failed to set $setting" fi
fi done
done
} }
enable_sddm() { enable_ly() {
log_info "Enabling SDDM..." log_info "Enabling Ly..."
systemctl enable sddm systemctl enable ly@tty2.service
}
install_sddm_theme() {
log_info "Installing SDDM theme..."
if pacman -Q where-is-my-sddm-theme-git >/dev/null 2>&1; then
log_success "SDDM theme already installed."
return
fi
sudo -u "$ORIG_USER" mkdir -p "$ORIG_HOME/Repositories"
cd "$ORIG_HOME/Repositories" || return
if [ ! -d "where-is-my-sddm-theme" ]; then
sudo -u "$ORIG_USER" git clone https://aur.archlinux.org/where-is-my-sddm-theme-git.git where-is-my-sddm-theme
else
log_warn "Theme repo already exists, skipping clone."
fi
cd "$ORIG_HOME/Repositories/where-is-my-sddm-theme" || return
sudo -u "$ORIG_USER" makepkg -si --noconfirm
log_info "Cleaning up theme repository..."
rm -rf "$ORIG_HOME/Repositories/where-is-my-sddm-theme"
log_success "SDDM theme installed and repo removed."
} }
install_gtk_theme() { install_gtk_theme() {
log_info "Installing GTK theme..." log_info "Installing GTK theme..."
if [ -d "$ORIG_HOME/.themes/Graphite-Dark-compact" ]; then
log_success "GTK theme already installed."
return
fi
sudo -u "$ORIG_USER" mkdir -p "$ORIG_HOME/Repositories" if [ -d "$ORIG_HOME/.themes/Graphite-Dark-compact" ]; then
cd "$ORIG_HOME/Repositories" || return log_success "GTK theme already installed."
return
fi
if [ ! -d "graphite-gtk" ]; then sudo -u "$ORIG_USER" mkdir -p "$ORIG_HOME/Repositories"
sudo -u "$ORIG_USER" git clone https://github.com/vinceliuice/Graphite-gtk-theme.git graphite-gtk cd "$ORIG_HOME/Repositories" || return
else
log_warn "Theme repo already exists, skipping clone."
fi
cd "$ORIG_HOME/Repositories/graphite-gtk" || return if [ ! -d "graphite-gtk" ]; then
sudo -u "$ORIG_USER" ./install.sh -c dark --tweaks rimless --size compact --round 0px sudo -u "$ORIG_USER" git clone https://github.com/vinceliuice/Graphite-gtk-theme.git graphite-gtk
else
log_warn "Theme repo already exists, skipping clone."
fi
log_info "Cleaning up theme repository..." cd "$ORIG_HOME/Repositories/graphite-gtk" || return
rm -rf "$ORIG_HOME/Repositories/graphite-gtk" sudo -u "$ORIG_USER" ./install.sh -c dark --tweaks rimless --size compact --round 0px
log_success "GTK theme installed and repo removed."
log_info "Cleaning up theme repository..."
rm -rf "$ORIG_HOME/Repositories/graphite-gtk"
log_success "GTK theme installed and repo removed."
} }
install_gtk_icons() { install_gtk_icons() {
log_info "Installing Tela icons..." log_info "Installing Tela icons..."
if [ -d "$ORIG_HOME/.local/share/icons/Tela-grey-dark" ]; then
log_success "GTK theme already installed."
return
fi
sudo -u "$ORIG_USER" mkdir -p "$ORIG_HOME/Repositories" if [ -d "$ORIG_HOME/.local/share/icons/Tela-grey-dark" ]; then
cd "$ORIG_HOME/Repositories" || return log_success "GTK theme already installed."
return
fi
if [ ! -d "tela-icons" ]; then sudo -u "$ORIG_USER" mkdir -p "$ORIG_HOME/Repositories"
sudo -u "$ORIG_USER" git clone https://github.com/vinceliuice/Tela-icon-theme.git tela-icons cd "$ORIG_HOME/Repositories" || return
else
log_warn "Theme repo already exists, skipping clone."
fi
cd "$ORIG_HOME/Repositories/tela-icons" || return if [ ! -d "tela-icons" ]; then
sudo -u "$ORIG_USER" ./install.sh -c grey sudo -u "$ORIG_USER" git clone https://github.com/vinceliuice/Tela-icon-theme.git tela-icons
else
log_warn "Theme repo already exists, skipping clone."
fi
log_info "Cleaning up icons repository..." cd "$ORIG_HOME/Repositories/tela-icons" || return
rm -rf "$ORIG_HOME/Repositories/tela-icons" sudo -u "$ORIG_USER" ./install.sh -c grey
log_success "Tela icons installed and repo removed."
log_info "Cleaning up icons repository..."
rm -rf "$ORIG_HOME/Repositories/tela-icons"
log_success "Tela icons installed and repo removed."
} }
run_dotfiles_setup() { run_dotfiles_setup() {
log_info "Running dotfiles setup..." log_info "Running dotfiles setup..."
cd "$ORIG_PWD" cd "$ORIG_PWD"
sudo -u "$ORIG_USER" mkdir -p \ sudo -u "$ORIG_USER" mkdir -p \
"$ORIG_HOME/Downloads" \ "$ORIG_HOME/Downloads" \
"$ORIG_HOME/Documents" \ "$ORIG_HOME/Documents" \
"$ORIG_HOME/Pictures" \ "$ORIG_HOME/Pictures" \
"$ORIG_HOME/Videos" \ "$ORIG_HOME/Videos" \
"$ORIG_HOME/Repositories" "$ORIG_HOME/Repositories"
if [ -d "home" ]; then if [ -d "home" ]; then
log_info "Copying files from ./home to $ORIG_HOME..." log_info "Copying files from ./home to $ORIG_HOME..."
cp -a ./home/. "$ORIG_HOME/" cp -a ./home/. "$ORIG_HOME/"
chown -R "$ORIG_USER:$ORIG_USER" "$ORIG_HOME" chown -R "$ORIG_USER:$ORIG_USER" "$ORIG_HOME"
log_info "Select monitor configuration:"
echo "1) monitors-1.conf"
echo "2) monitors-2.conf"
printf "${MAGENTA}Enter your choice (1 or 2): ${RESET}"
read -r MONITOR_CHOICE
MONITORS_DIR="$ORIG_HOME/.config/hypr" log_info "Select monitor configuration:"
case "$MONITOR_CHOICE" in echo "1) monitors-1.conf"
1) echo "2) monitors-2.conf"
cp "$MONITORS_DIR/monitors-1.conf" "$MONITORS_DIR/monitors.conf" printf "${MAGENTA}Enter your choice (1 or 2): ${RESET}"
;; read -r MONITOR_CHOICE
2)
cp "$MONITORS_DIR/monitors-2.conf" "$MONITORS_DIR/monitors.conf"
;;
*)
log_warn "Invalid choice. Skipping monitor config setup."
;;
esac
chown "$ORIG_USER:$ORIG_USER" "$MONITORS_DIR/monitors.conf" 2>/dev/null || true MONITORS_DIR="$ORIG_HOME/.config/hypr"
log_success "Monitor config set to monitors.conf" case "$MONITOR_CHOICE" in
1)
cp "$MONITORS_DIR/monitors-1.conf" "$MONITORS_DIR/monitors.conf"
;;
2)
cp "$MONITORS_DIR/monitors-2.conf" "$MONITORS_DIR/monitors.conf"
;;
*)
log_warn "Invalid choice. Skipping monitor config setup."
;;
esac
log_success "Files copied to user home directory." chown "$ORIG_USER:$ORIG_USER" "$MONITORS_DIR/monitors.conf" 2>/dev/null || true
else log_success "Monitor config set to monitors.conf"
log_warn "'home' directory not found in script directory."
fi log_success "Files copied to user home directory."
else
log_warn "'home' directory not found in script directory."
fi
} }
# === Main flow === # === Main flow ===
@@ -305,10 +279,8 @@ install_nvidia_drivers
install_gtk_theme install_gtk_theme
install_gtk_icons install_gtk_icons
apply_gtk_settings apply_gtk_settings
install_sddm_theme
install_system_files install_system_files
run_dotfiles_setup run_dotfiles_setup
enable_sddm enable_ly
log_success "Setup completed successfully." log_success "Setup completed successfully."

View File

@@ -25,7 +25,10 @@ $top = $terminal btop
################# #################
# Autostart necessary processes (like notifications daemons, status bars, etc.) # Autostart necessary processes (like notifications daemons, status bars, etc.)
exec-once=waybar & hyprpaper & wl-clip-persist --clipboard both & mako exec-once = waybar
exec-once = hyprpaper
exec-once = wl-clip-persist --clipboard both
exec-once = mako
exec-once = /usr/lib/hyprpolkitagent/hyprpolkitagent exec-once = /usr/lib/hyprpolkitagent/hyprpolkitagent
# & mako --config=$HOME/.config/mako/config # & mako --config=$HOME/.config/mako/config
@@ -69,10 +72,10 @@ general {
gaps_in = 5 gaps_in = 5
gaps_out = 10 gaps_out = 10
border_size = 3 border_size = 4
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(155,142,59,0.85) rgba(35,36,37,0.9) 30deg col.active_border = rgba(255,221,0,0.3)
col.inactive_border = rgba(aeb3ad66) col.inactive_border = rgba(aeb3ad66)
# Set to true enable resizing windows by clicking and dragging on borders and gaps # Set to true enable resizing windows by clicking and dragging on borders and gaps
@@ -86,7 +89,7 @@ general {
# https://wiki.hyprland.org/Configuring/Variables/#decoration # https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration { decoration {
rounding = 5 rounding = 0
rounding_power = 3 rounding_power = 3
# Change transparency of focused and unfocused windows # Change transparency of focused and unfocused windows

View File

@@ -0,0 +1,372 @@
# Ly supports 24-bit true color with styling, which means each color is a 32-bit value.
# The format is 0xSSRRGGBB, where SS is the styling, RR is red, GG is green, and BB is blue.
# Here are the possible styling options:
# TB_BOLD 0x01000000
# TB_UNDERLINE 0x02000000
# TB_REVERSE 0x04000000
# TB_ITALIC 0x08000000
# TB_BLINK 0x10000000
# TB_HI_BLACK 0x20000000
# TB_BRIGHT 0x40000000
# TB_DIM 0x80000000
# Programmatically, you'd apply them using the bitwise OR operator (|), but because Ly's
# configuration doesn't support using it, you have to manually compute the color value.
# Note that, if you want to use the default color value of the terminal, you can use the
# special value 0x00000000. This means that, if you want to use black, you *must* use
# the styling option TB_HI_BLACK (the RGB values are ignored when using this option).
# Allow empty password or not when authenticating
allow_empty_password = true
# The active animation
# none -> Nothing
# doom -> PSX DOOM fire
# matrix -> CMatrix
# colormix -> Color mixing shader
# gameoflife -> John Conway's Game of Life
# dur_file -> .dur file format (https://github.com/cmang/durdraw/tree/master)
animation = colormix
# Stop the animation after some time
# 0 -> Run forever
# 1..2e12 -> Stop the animation after this many seconds
animation_timeout_sec = 0
# The character used to mask the password
# You can either type it directly as a UTF-8 character (like *), or use a UTF-32
# codepoint (for example 0x2022 for a bullet point)
# If null, the password will be hidden
# Note: you can use a # by escaping it like so: \#
asterisk = *
# The number of failed authentications before a special animation is played... ;)
# If set to 0, the animation will never be played
auth_fails = 10
# Identifier for battery whose charge to display at top left
# Primary battery is usually BAT0 or BAT1
# If set to null, battery status won't be shown
battery_id = null
# Automatic login configuration
# This feature allows Ly to automatically log in a user without password prompt.
# IMPORTANT: Both auto_login_user and auto_login_session must be set for this to work.
# Autologin only happens once at startup - it won't re-trigger after logout.
# PAM service name to use for automatic login
# The default service (ly-autologin) uses pam_permit to allow login without password
# The appropriate platform-specific PAM configuration (ly-autologin) will be used automatically
auto_login_service = ly-autologin
# Session name to launch automatically
# To find available session names, check the .desktop files in:
# - /usr/share/xsessions/ (for X11 sessions)
# - /usr/share/wayland-sessions/ (for Wayland sessions)
# Use the filename without .desktop extension, the Name field inside the file or the value of the DesktopNames field
# Examples: "i3", "sway", "gnome", "plasma", "xfce"
# If null, automatic login is disabled
auto_login_session = null
# Username to automatically log in
# Must be a valid user on the system
# If null, automatic login is disabled
auto_login_user = null
# Background color id
bg = 0x00000000
# Change the state and language of the big clock
# none -> Disabled (default)
# en -> English
# fa -> Farsi
bigclock = none
# Set bigclock to 12-hour notation.
bigclock_12hr = false
# Set bigclock to show the seconds.
bigclock_seconds = false
# Blank main box background
# Setting to false will make it transparent
blank_box = true
# 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 = /usr/bin/brightnessctl -q -n s 10%-
# Brightness decrease key, or null to disable
brightness_down_key = F5
# Brightness increase command
brightness_up_cmd = /usr/bin/brightnessctl -q -n s +10%
# Brightness increase key, or null to disable
brightness_up_key = F6
# Erase password input on failure
clear_password = false
# Format string for clock in top right corner (see strftime specification). Example: %c
# If null, the clock won't be shown
clock = null
# 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 = 0x20000000
# Color mixing animation second color id
colormix_col2 = 0x20000000
# Color mixing animation third color id
colormix_col3 = 0x0000FF00
# Custom sessions directory
# You can specify multiple directories,
# e.g. /etc/ly/custom-sessions:/usr/share/custom-sessions
custom_sessions = /etc/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 = /etc/ly/example.dur
# Dur offset x direction
dur_x_offset = 0
# Dur offset y direction
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 = 6
# 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.4
# Command executed when pressing hibernate key (can be null)
hibernate_cmd = null
# Specifies the key used for hibernate (F1-F12)
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 /etc/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
# Event timeout in milliseconds
min_refresh_delta = 5
# 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 used for restart (F1-F12)
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 and shell sessions aren't supported, which
# means you won't get any logs from those sessions.
# If null, no session log will be created
session_log = .local/state/ly-session.log
# Setup command
setup_cmd = /etc/ly/setup.sh
# Command executed when pressing shutdown_key
shutdown_cmd = /sbin/shutdown -a now
# Specifies the key used for shutdown (F1-F12)
shutdown_key = F1
# Command executed when pressing sleep key (can be null)
sleep_cmd = null
# Specifies the key used for sleep (F1-F12)
sleep_key = F3
# Command executed when starting Ly (before the TTY is taken control of)
# If null, no command will be executed
start_cmd = null
# 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. /usr/share/wayland-sessions:/usr/local/share/wayland-sessions
waylandsessions = /usr/share/wayland-sessions
# Xorg server command
x_cmd = /usr/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 = /usr/bin/xauth
# xinitrc
# If null, the xinitrc session will be hidden
xinitrc = ~/.xinitrc
# Xorg desktop environments
# You can specify multiple directories,
# e.g. /usr/share/xsessions:/usr/local/share/xsessions
xsessions = /usr/share/xsessions

View File

@@ -1,139 +0,0 @@
[Autologin]
# Whether sddm should automatically log back into sessions when they exit
Relogin=false
# Name of session file for autologin session (if empty try last logged in)
Session=
# Username for autologin session
User=
[General]
# Which display server should be used.
# Valid values are: x11, x11-user, wayland. Wayland support is experimental
DisplayServer=wayland
# Comma-separated list of environment variables to be set
GreeterEnvironment=
# Halt command
HaltCommand=/usr/bin/systemctl poweroff
# Input method module
InputMethod=
# Comma-separated list of Linux namespaces for user session to enter
Namespaces=
# Initial NumLock state. Can be on, off or none.
# If property is set to none, numlock won't be changed
# NOTE: Currently ignored if autologin is enabled.
Numlock=none
# Reboot command
RebootCommand=/usr/bin/systemctl reboot
[Theme]
# Current theme name
Current=where_is_my_sddm_theme
# Cursor size used in the greeter
CursorSize=
# Cursor theme used in the greeter
CursorTheme=
# Number of users to use as threshold
# above which avatars are disabled
# unless explicitly enabled with EnableAvatars
DisableAvatarsThreshold=7
# Enable display of custom user avatars
EnableAvatars=true
# Global directory for user avatars
# The files should be named <username>.face.icon
FacesDir=/usr/share/sddm/faces
# Font used in the greeter
Font=
# Theme directory path
ThemeDir=/usr/share/sddm/themes
[Users]
# Default $PATH for logged in users
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
# Comma-separated list of shells.
# Users with these shells as their default won't be listed
HideShells=
# Comma-separated list of users that should not be listed
HideUsers=
# Maximum user id for displayed users
MaximumUid=60513
# Minimum user id for displayed users
MinimumUid=1000
# Remember the session of the last successfully logged in user
RememberLastSession=true
# Remember the last successfully logged in user
RememberLastUser=true
# When logging in as the same user twice, restore the original session, rather than create a new one
ReuseSession=true
[Wayland]
# Path of the Wayland compositor to execute when starting the greeter
CompositorCommand=weston --shell=kiosk
# Enable Qt's automatic high-DPI scaling
EnableHiDPI=true
# Path to a script to execute when starting the desktop session
SessionCommand=/usr/share/sddm/scripts/wayland-session
# Comma-separated list of directories containing available Wayland sessions
SessionDir=/usr/local/share/wayland-sessions,/usr/share/wayland-sessions
# Path to the user session log file
SessionLogFile=.local/share/sddm/wayland-session.log
[X11]
# Path to a script to execute when starting the display server
DisplayCommand=/usr/share/sddm/scripts/Xsetup
# Path to a script to execute when stopping the display server
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
# Enable Qt's automatic high-DPI scaling
EnableHiDPI=true
# Arguments passed to the X server invocation
ServerArguments=-nolisten tcp
# Path to X server binary
ServerPath=/usr/bin/X
# Path to a script to execute when starting the desktop session
SessionCommand=/usr/share/sddm/scripts/Xsession
# Comma-separated list of directories containing available X sessions
SessionDir=/usr/local/share/xsessions,/usr/share/xsessions
# Path to the user session log file
SessionLogFile=.local/share/sddm/xorg-session.log
# Path to Xephyr binary
XephyrPath=/usr/bin/Xephyr

View File

@@ -1,41 +0,0 @@
[General]
# Password mask character
passwordCharacter=*
# Mask password characters or not ("true" or "false")
passwordMask=true
# value "1" is all display width, "0.5" is a half of display width etc.
passwordInputWidth=0.33
# Background color of password input
passwordInputBackground=#242425
# Radius of password input corners
passwordInputRadius=7
# "true" for visible cursor, "false" for invisible
passwordInputCursorVisible=true
# Font size of password (in points)
passwordFontSize=28
passwordCursorColor=#E0E6ED
passwordTextColor=
# Show or not sessions choose label
showSessionsByDefault=true
# Font size of sessions choose label (in points).
sessionsFontSize=24
# Show or not users choose label
showUsersByDefault=true
# Font size of users choose label (in points)
usersFontSize=32
# Path to background image
background=
# Or use just one color
backgroundFill=#1C1E1F
# Fill mode for image background
# Value must be on of: aspect, fill, tile, pad
backgroundFillMode=aspect
# Default text color for all labels
basicTextColor=#E0E6ED
# Radius of background blur
blurRadius=