Commit 56f1b81

HPCesia <me@hpcesia.com>
2025-10-06 08:51:45
feat: sddm theme
1 parent dce010c
Changed files (4)
modules/desktop/shell/plasma6/default.nix
@@ -2,7 +2,6 @@
   flake.modules.nixos.plasma6 = _: {
     services = {
       xserver.enable = true;
-      displayManager.sddm.enable = true;
       displayManager.defaultSession = "plasma";
       desktopManager.plasma6.enable = true;
     };
modules/desktop/shell/plasma6/sddm.nix
@@ -1,5 +1,29 @@
 {
-  flake.modules.nixos.plasma6 = _: {
+  inputs,
+  lib,
+  ...
+}: {
+  flake.modules.nixos.plasma6 = {pkgs, ...}: let
+    sddm-theme = inputs.silentSDDM.packages.${pkgs.system}.default.override {
+      theme = "catppuccin-macchiato";
+    };
+  in {
+    environment.systemPackages = [sddm-theme sddm-theme.test];
+
+    services.displayManager.sddm = {
+      enable = true;
+      package = lib.mkForce pkgs.kdePackages.sddm; # Use qt6 version of sddm
+      # 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";
+          InputMethod = "qtvirtualkeyboard";
+        };
+      };
+    };
+
     systemd.services.display-manager = {
       environment = {
         LANG = "zh_CN.UTF-8"; # Fix SDDM's locale
flake.lock
@@ -637,6 +637,7 @@
         "nur-hpcesia": "nur-hpcesia",
         "plasma-manager": "plasma-manager",
         "programsdb": "programsdb",
+        "silentSDDM": "silentSDDM",
         "sops-nix": "sops-nix",
         "vaultix": "vaultix",
         "wallpapers": "wallpapers"
@@ -684,6 +685,26 @@
         "type": "github"
       }
     },
+    "silentSDDM": {
+      "inputs": {
+        "nixpkgs": [
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1759422678,
+        "narHash": "sha256-YnEPTTDPQ6wWhjbBQVGsFD+BlMGkC2ZVHlWId4O7E1k=",
+        "owner": "uiriansan",
+        "repo": "SilentSDDM",
+        "rev": "bd0575323e315a34142ab1c75ce808ff5712dabe",
+        "type": "github"
+      },
+      "original": {
+        "owner": "uiriansan",
+        "repo": "SilentSDDM",
+        "type": "github"
+      }
+    },
     "sops-nix": {
       "inputs": {
         "nixpkgs": [
flake.nix
@@ -45,6 +45,9 @@
     programsdb.url = "github:wamserma/flake-programs-sqlite";
     programsdb.inputs.nixpkgs.follows = "nixpkgs";
 
+    silentSDDM.url = "github:uiriansan/SilentSDDM";
+    silentSDDM.inputs.nixpkgs.follows = "nixpkgs";
+
     sops-nix.url = "github:Mic92/sops-nix";
     sops-nix.inputs.nixpkgs.follows = "nixpkgs";