{ lib, config, pkgs, inputs, ... }: let inherit (lib) mkIf; cfg = config.desktops.ly; in { config = mkIf cfg.enable { # display manager services.displayManager.ly = { enable = true; package = inputs.self.packages.${pkgs.system}.ly; settings = let base = "0x00${config.theme.colors.base}"; text = "0x00${config.theme.colors.text}"; bold = "0x01${config.theme.colors.text}"; error = "0x00${config.theme.colors.error}"; save_file = pkgs.writeText "ly-prefs" '' ${config.user} 1 ''; in { # general clear_password = true; default_input = "password"; xinitrc = "null"; hide_version_string = true; hide_key_hints = true; session_log = "/dev/null"; # state (evil) tty = 1; save = false; load = true; save_file = toString save_file; # background bg = base; error_bg = base; blank_box = true; # foreground fg = text; error_fg = error; border_fg = bold; }; }; # disable default login on tty 1 systemd.services."autovt@tty1".enable = false; systemd.services."getty@tty1".enable = false; # fix env not being set systemd.services.display-manager = { environment.XDG_CURRENT_DESKTOP = "X-NIXOS-SYSTEMD-AWARE"; }; }; }