55 lines
1.7 KiB
Nix
55 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
system,
|
|
inputs,
|
|
...
|
|
}:
|
|
with lib;
|
|
with lib.custom; let
|
|
cfg = config.services.quickshell;
|
|
|
|
mkService = recursiveUpdate {
|
|
Unit.PartOf = ["graphical-session.target"];
|
|
Unit.After = ["graphical-session.target"];
|
|
Install.WantedBy = ["graphical-session.target"];
|
|
};
|
|
in {
|
|
options.services.quickshell = with types; {
|
|
enable = mkBoolOpt false "Enable or Disable QuickShell";
|
|
};
|
|
config = mkIf cfg.enable {
|
|
systemd.user.services = {
|
|
quickshell = mkService {
|
|
Unit.Description = "QuickShell Service";
|
|
Service = {
|
|
Environment = [
|
|
"QSG_RENDER_LOOP=threaded"
|
|
# "QT_QUICK_BACKEND=software"
|
|
"QT_QPA_PLATFORM=wayland"
|
|
"QSG_RENDERER_TIMING=true"
|
|
"QML_DISABLE_DISTANCEFIELD=1"
|
|
"QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
|
|
"QT_QPA_PLATFORMTHEME=qt5ct"
|
|
"QT_QPA_REFRESH_RATE=240"
|
|
"__GL_SYNC_TO_VBLANK=0"
|
|
"LIBGL_ALWAYS_SOFTWARE=0"
|
|
"__GL_SYNC_DISPLAY_DEVICE=DP-1" # Adjust this to match your display connection
|
|
"QML_ANIMATION_DRIVER=cadence"
|
|
"QML_CADENCE_DURATION=4"
|
|
"QML_CADENCE_MAX_RENDER_TIME=3.5"
|
|
"QSG_RENDERER_USE_THREADED_GL=1"
|
|
"QSG_RHI_PREFER_SOFTWARE_RENDERER=0"
|
|
"QSG_RHI_FORCE_SYNC=0"
|
|
"QSG_INFO=1"
|
|
];
|
|
ExecStart = ''
|
|
${inputs.quickshell.packages.${system}.default}/bin/qs --log-rules 'quickshell.dbus.properties.warning = false;quickshell.dbus.dbusmenu.warning = false;quickshell.service.notifications.warning = false;quickshell.service.sni.host.warning = false'
|
|
'';
|
|
Restart = "always";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|