summary refs log tree commit diff
path: root/nixos/modules/services/x11/display-managers/sddm.nix
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2015-12-11 06:58:04 -0600
committerThomas Tuegel <ttuegel@gmail.com>2015-12-11 07:09:07 -0600
commit78a6d62b4894089fe58c1706cda7c2b801294728 (patch)
tree4ff6414c70b18880d4d11fc5c573804d39a8978b /nixos/modules/services/x11/display-managers/sddm.nix
parent34f2addf11e8f210f151c75a40e367558c89e346 (diff)
downloadnixpkgs-78a6d62b4894089fe58c1706cda7c2b801294728.tar
nixpkgs-78a6d62b4894089fe58c1706cda7c2b801294728.tar.gz
nixpkgs-78a6d62b4894089fe58c1706cda7c2b801294728.tar.bz2
nixpkgs-78a6d62b4894089fe58c1706cda7c2b801294728.tar.lz
nixpkgs-78a6d62b4894089fe58c1706cda7c2b801294728.tar.xz
nixpkgs-78a6d62b4894089fe58c1706cda7c2b801294728.tar.zst
nixpkgs-78a6d62b4894089fe58c1706cda7c2b801294728.zip
sddm: wrap to include themes
Diffstat (limited to 'nixos/modules/services/x11/display-managers/sddm.nix')
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix15
1 files changed, 13 insertions, 2 deletions
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index 5ca3a44324f..d156f692f26 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -9,6 +9,8 @@ let
   cfg = dmcfg.sddm;
   xEnv = config.systemd.services."display-manager".environment;
 
+  sddm = pkgs.sddm.override { inherit (cfg) themes; };
+
   xserverWrapper = pkgs.writeScript "xserver-wrapper" ''
     #!/bin/sh
     ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)}
@@ -22,6 +24,8 @@ let
 
     [Theme]
     Current=${cfg.theme}
+    ThemeDir=${sddm}/share/sddm/themes
+    FacesDir=${sddm}/share/sddm/faces
 
     [Users]
     MaximumUid=${toString config.ids.uids.nixbld}
@@ -86,6 +90,14 @@ in
         '';
       };
 
+      themes = mkOption {
+        type = types.listOf types.package;
+        default = [];
+        description = ''
+          Extra packages providing themes.
+        '';
+      };
+
       autoLogin = mkOption {
         default = {};
         description = ''
@@ -146,8 +158,7 @@ in
     services.xserver.displayManager.job = {
       logsXsession = true;
 
-      #execCmd = "${pkgs.sddm}/bin/sddm";
-      execCmd = "exec ${pkgs.sddm}/bin/sddm";
+      execCmd = "exec ${sddm}/bin/sddm";
     };
 
     security.pam.services = {