From 945eff67669e353f57b586e5b9e3b6be6e0d72c1 Mon Sep 17 00:00:00 2001
From: Crony Akatsuki <crony@cronyakatsuki.xyz>
Date: Sun, 2 Feb 2025 23:38:04 +0100
Subject: [PATCH] Move sddm to it's own module.

---
 modules/nixos/default.nix |  2 ++
 modules/nixos/plasma.nix  |  2 --
 modules/nixos/sddm.nix    | 14 ++++++++++++++
 3 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 modules/nixos/sddm.nix

diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix
index 83e7ab5..dd77509 100644
--- a/modules/nixos/default.nix
+++ b/modules/nixos/default.nix
@@ -15,6 +15,7 @@
     ./auto-cpufreq.nix
     ./wireguard.nix
     ./hyprland.nix
+    ./sddm.nix
   ];
 
   crony.bluetooth.enable = lib.mkDefault true;
@@ -32,4 +33,5 @@
   crony.auto-cpufreq.enable = lib.mkDefault true;
   crony.wireguard.enable = lib.mkDefault true;
   crony.hyprland-nixos.enable = lib.mkDefault true;
+  crony.sddm.enable = lib.mkDefault true;
 }
diff --git a/modules/nixos/plasma.nix b/modules/nixos/plasma.nix
index d1c121f..a5bed81 100644
--- a/modules/nixos/plasma.nix
+++ b/modules/nixos/plasma.nix
@@ -10,8 +10,6 @@
 
   config = lib.mkIf config.crony.plasma.enable {
     # Enable the KDE Plasma Desktop Environment.
-    services.displayManager.sddm.enable = true;
-    services.displayManager.sddm.wayland.enable = true;
     services.desktopManager.plasma6.enable = true;
     environment.plasma6.excludePackages = with pkgs.kdePackages; [
       plasma-browser-integration
diff --git a/modules/nixos/sddm.nix b/modules/nixos/sddm.nix
new file mode 100644
index 0000000..ae07e9b
--- /dev/null
+++ b/modules/nixos/sddm.nix
@@ -0,0 +1,14 @@
+{
+  config,
+  lib,
+  ...
+}: {
+  options = {
+    crony.sddm.enable = lib.mkEnableOption "Enable sddm.";
+  };
+
+  config = lib.mkIf config.crony.sddm.enable {
+    services.displayManager.sddm.enable = true;
+    services.displayManager.sddm.wayland.enable = true;
+  };
+}