Commit f0bbba8

HPCesia <me@hpcesia.com>
2026-05-18 16:34:15
feat: use sddm instead
1 parent 87b2c2f
Changed files (4)
modules/desktop/dm/default.nix
@@ -2,8 +2,8 @@
   # Import manually to switch display manager.
   flake.modules.nixos.desktop = _: {
     imports = with config.flake.modules.nixos; [
-      dm-gdm
-      # dm-sddm
+      # dm-gdm
+      dm-sddm
     ];
   };
 }
modules/desktop/dm/sddm.nix
@@ -3,24 +3,46 @@
   lib,
   ...
 }: {
-  flake-file.inputs.silentSDDM.url = "github:uiriansan/SilentSDDM";
+  flake-file.inputs.silentSDDM = {
+    url = "github:uiriansan/SilentSDDM";
+    inputs.nixpkgs.follows = "nixpkgs";
+  };
 
-  flake.modules.nixos.dm-sddm = {pkgs, ...}: let
+  flake.modules.nixos.dm-sddm = {
+    pkgs,
+    config,
+    ...
+  }: let
     sddm-theme = inputs.silentSDDM.packages.${pkgs.stdenv.hostPlatform.system}.default.override {
       theme = "catppuccin-macchiato";
+      theme-overrides = {
+        "LoginScreen" = {
+          background = config.stylix.image;
+        };
+        "LockScreen" = {
+          background = config.stylix.image;
+        };
+      };
     };
   in {
     environment.systemPackages = [sddm-theme sddm-theme.test];
 
+    qt.enable = true;
+
     services.displayManager.sddm = {
       enable = true;
       package = lib.mkForce pkgs.kdePackages.sddm; # Use qt6 version of sddm
+      wayland.enable = !config.services.xserver.enable;
       # See https://github.com/uiriansan/SilentSDDM?tab=readme-ov-file#NixOS-flake
       theme = sddm-theme.pname;
       extraPackages = sddm-theme.propagatedBuildInputs;
       settings = {
         General = {
-          GreeterEnvironment = "QML2_IMPORT_PATH=${sddm-theme}/share/sddm/themes/${sddm-theme.pname}/components/,QT_IM_MODULE=qtvirtualkeyboard";
+          GreeterEnvironment = lib.join "," [
+            "QML2_IMPORT_PATH=${sddm-theme}/share/sddm/themes/${sddm-theme.pname}/components/"
+            "QT_IM_MODULE=qtvirtualkeyboard"
+            "QT_FONT_DPI=${toString config.services.xserver.dpi}"
+          ];
           InputMethod = "qtvirtualkeyboard";
         };
       };
flake.lock
@@ -914,22 +914,6 @@
       }
     },
     "nixpkgs_7": {
-      "locked": {
-        "lastModified": 1765779637,
-        "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
-        "owner": "nixos",
-        "repo": "nixpkgs",
-        "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nixos",
-        "ref": "nixos-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
-    "nixpkgs_8": {
       "locked": {
         "lastModified": 1769789167,
         "narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=",
@@ -1214,7 +1198,9 @@
     },
     "silentSDDM": {
       "inputs": {
-        "nixpkgs": "nixpkgs_7"
+        "nixpkgs": [
+          "nixpkgs"
+        ]
       },
       "locked": {
         "lastModified": 1775652648,
@@ -1461,7 +1447,7 @@
         "advisory-db": "advisory-db",
         "crane": "crane",
         "flake-parts": "flake-parts_7",
-        "nixpkgs": "nixpkgs_8",
+        "nixpkgs": "nixpkgs_7",
         "pre-commit-hooks": "pre-commit-hooks",
         "rust-overlay": "rust-overlay_2"
       },
flake.nix
@@ -64,7 +64,10 @@
       url = "github:wamserma/flake-programs-sqlite";
       inputs.nixpkgs.follows = "nixpkgs";
     };
-    silentSDDM.url = "github:uiriansan/SilentSDDM";
+    silentSDDM = {
+      url = "github:uiriansan/SilentSDDM";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
     stylix = {
       url = "github:nix-community/stylix";
       inputs.nixpkgs.follows = "nixpkgs";