main
1{den, ...}: {
2 den.aspects.desktop.env.sddm = {
3 nixos = {config, ...}: {
4 services.displayManager.sddm = {
5 enable = true;
6 wayland.enable = !config.services.xserver.enable;
7 };
8 };
9 };
10
11 den.aspects.desktop.env.sddm.themes = {
12 catppuccin = {
13 includes = [den.aspects.desktop.style.fonts];
14
15 nixos = {
16 host,
17 pkgs,
18 config,
19 lib,
20 ...
21 }: let
22 cursorCfg = host.settings.desktop.style.cursor;
23 fontsCfg = host.settings.desktop.style.fonts;
24 slienSDDM = pkgs.fetchFromGitHub {
25 owner = "uiriansan";
26 repo = "SilentSDDM";
27 rev = "0155bbfa9be2ee6aa5fee1e2fa10e7107c57efe9";
28 hash = "sha256-RekdwajKfglwIS/uudP+N+AeqFKI5OooHD6HgjW/x8s=";
29 };
30 theme = pkgs.callPackage "${slienSDDM}/nix/package.nix" {
31 theme = "catppuccin-macchiato";
32 theme-overrides = {
33 General.scale = fontsCfg.sizes.applications / 12;
34 };
35 };
36 in {
37 environment.systemPackages = [
38 theme
39 (cursorCfg.package pkgs)
40 ];
41
42 services.displayManager.sddm = {
43 theme = theme.pname;
44 extraPackages = theme.propagatedBuildInputs;
45 settings = {
46 General = {
47 GreeterEnvironment = lib.join "," [
48 "QML2_IMPORT_PATH=${theme}/share/sddm/themes/${theme.pname}/components/"
49 "QT_IM_MODULE=qtvirtualkeyboard"
50 "QT_FONT_DPI=${toString config.services.xserver.dpi}"
51 ];
52 InputMethod = "qtvirtualkeyboard";
53 };
54 Theme = {
55 CursorTheme = cursorCfg.name;
56 CursorSize = cursorCfg.size;
57 };
58 };
59 };
60 };
61 };
62 };
63}