about summary refs log tree commit diff
path: root/nixos/modules/services/x11/display-managers/slim.nix
diff options
context:
space:
mode:
authorArseniy Seroka <ars.seroka@gmail.com>2014-02-05 16:44:59 +0400
committerArseniy Seroka <ars.seroka@gmail.com>2014-02-05 16:46:42 +0400
commitd573ea576fce2c86f8d706b9048c2d72ad12b703 (patch)
tree8b4586d756ade3374be3f4f46466047a570c1f9a /nixos/modules/services/x11/display-managers/slim.nix
parentb9fe0b8fb10bdc25d62fc766f04f2235205e1ef9 (diff)
downloadnixlib-d573ea576fce2c86f8d706b9048c2d72ad12b703.tar
nixlib-d573ea576fce2c86f8d706b9048c2d72ad12b703.tar.gz
nixlib-d573ea576fce2c86f8d706b9048c2d72ad12b703.tar.bz2
nixlib-d573ea576fce2c86f8d706b9048c2d72ad12b703.tar.lz
nixlib-d573ea576fce2c86f8d706b9048c2d72ad12b703.tar.xz
nixlib-d573ea576fce2c86f8d706b9048c2d72ad12b703.tar.zst
nixlib-d573ea576fce2c86f8d706b9048c2d72ad12b703.zip
add normal theme support for slim and slimlock
Diffstat (limited to 'nixos/modules/services/x11/display-managers/slim.nix')
-rw-r--r--nixos/modules/services/x11/display-managers/slim.nix25
1 files changed, 22 insertions, 3 deletions
diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix
index 35834ef3764b..b4f42ec7649c 100644
--- a/nixos/modules/services/x11/display-managers/slim.nix
+++ b/nixos/modules/services/x11/display-managers/slim.nix
@@ -5,7 +5,10 @@ with pkgs.lib;
 let
 
   dmcfg = config.services.xserver.displayManager;
+
   cfg = dmcfg.slim;
+  
+  slimPackage = cfg.package;
 
   slimConfig = pkgs.writeText "slim.cfg"
     ''
@@ -32,7 +35,7 @@ let
           ln -s * default
         '';
       };
-    in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme;
+    in if cfg.theme == null then "${slimPackage}/share/slim/themes" else unpackedTheme;
 
 in
 
@@ -79,6 +82,22 @@ in
           the focus is placed on the password.
         '';
       };
+      
+      package = mkOption {
+        type = types.package;
+        default = pkgs.slim;
+        description = ''
+          Configure slim package.
+        '';
+        example = ''
+          pkgs.slim.override { 
+            theme = pkgs.fetchurl {
+              url = http://download.berlios.de/slim/slim-wave.tar.gz;
+              sha256 = "0ndr419i5myzcylvxb89m9grl2xyq6fbnyc3lkd711mzlmnnfxdy";
+            }; 
+          };
+        '';
+      };
 
       autoLogin = mkOption {
         type = types.bool;
@@ -106,7 +125,7 @@ in
           { SLIM_CFGFILE = slimConfig;
             SLIM_THEMESDIR = slimThemesDir;
           };
-        execCmd = "exec ${pkgs.slim}/bin/slim";
+        execCmd = "exec ${slimPackage}/bin/slim";
       };
 
     # Allow null passwords so that the user can login as root on the
@@ -116,7 +135,7 @@ in
     # Allow slimlock to work.
     security.pam.services.slimlock = {};
 
-    environment.systemPackages = [ pkgs.slim ];
+    environment.systemPackages = [ slimPackage ];
 
   };