64 lines
1.3 KiB
Nix
64 lines
1.3 KiB
Nix
|
{pkgs, ...}: {
|
||
|
services = {
|
||
|
# Configure greetd for "auto" login (single user only)
|
||
|
greetd = let
|
||
|
startSway = pkgs.writeScript "startsway" ''
|
||
|
# Use NVIDIA variables if drivers are in use
|
||
|
if lspci -k | grep "Kernel driver in use: nvidia" &> /dev/null; then
|
||
|
# NVIDIA/AMD variables
|
||
|
export LIBVA_DRIVER_NAME=nvidia
|
||
|
export GBM_BACKEND=nvidia-drm
|
||
|
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||
|
export WLR_NO_HARDWARE_CURSORS=1
|
||
|
else
|
||
|
:
|
||
|
fi
|
||
|
|
||
|
# Sway/Wayland
|
||
|
export XDG_CURRENT_DESKTOP=sway
|
||
|
export QT_QPA_PLATFORM="wayland;xcb"
|
||
|
|
||
|
# Start Sway
|
||
|
sway --unsupported-gpu
|
||
|
'';
|
||
|
in {
|
||
|
enable = true;
|
||
|
restart = true;
|
||
|
settings = {
|
||
|
terminal = {
|
||
|
vt = 2;
|
||
|
switch = true;
|
||
|
};
|
||
|
default_session = {
|
||
|
command = "${startSway}";
|
||
|
user = "jimbo";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
dbus.enable = true;
|
||
|
};
|
||
|
|
||
|
programs.xwayland = {
|
||
|
enable = true;
|
||
|
};
|
||
|
|
||
|
# Enable backlight and theme control
|
||
|
programs = {
|
||
|
dconf.enable = true;
|
||
|
light.enable = true;
|
||
|
};
|
||
|
|
||
|
# Packages needed for Wayland
|
||
|
environment.systemPackages = with pkgs; [
|
||
|
wl-clipboard
|
||
|
wdisplays
|
||
|
clipman
|
||
|
libnotify
|
||
|
grim
|
||
|
slurp
|
||
|
swappy
|
||
|
jq
|
||
|
lm_sensors
|
||
|
];
|
||
|
}
|