summary refs log tree commit diff
path: root/nixos/modules/services/x11/display-managers
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@users.noreply.github.com>2018-08-20 16:31:18 -0400
committerworldofpeace <worldofpeace@users.noreply.github.com>2019-01-24 20:54:14 +0000
commit78da8d668b51b10d12285483a661307e1d3052eb (patch)
treef24edb95d698d3c240dd1359a0957ec776b94912 /nixos/modules/services/x11/display-managers
parent2530372351fb7c65df1e209356c5eabf5a66fa9e (diff)
downloadnixpkgs-78da8d668b51b10d12285483a661307e1d3052eb.tar
nixpkgs-78da8d668b51b10d12285483a661307e1d3052eb.tar.gz
nixpkgs-78da8d668b51b10d12285483a661307e1d3052eb.tar.bz2
nixpkgs-78da8d668b51b10d12285483a661307e1d3052eb.tar.lz
nixpkgs-78da8d668b51b10d12285483a661307e1d3052eb.tar.xz
nixpkgs-78da8d668b51b10d12285483a661307e1d3052eb.tar.zst
nixpkgs-78da8d668b51b10d12285483a661307e1d3052eb.zip
pantheon: init a 5.0
Diffstat (limited to 'nixos/modules/services/x11/display-managers')
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix47
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix1
2 files changed, 48 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
new file mode 100644
index 00000000000..05011b999f2
--- /dev/null
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
@@ -0,0 +1,47 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  dmcfg = config.services.xserver.displayManager;
+  ldmcfg = dmcfg.lightdm;
+  cfg = ldmcfg.greeters.pantheon;
+
+  xgreeters = pkgs.linkFarm "pantheon-greeter-xgreeters" [{
+    path = "${pkgs.pantheon.elementary-greeter}/share/xgreeters/io.elementary.greeter.desktop";
+    name = "io.elementary.greeter.desktop";
+  }];
+
+in
+{
+  options = {
+
+    services.xserver.displayManager.lightdm.greeters.pantheon = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to enable elementary-greeter as the lightdm greeter.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf (ldmcfg.enable && cfg.enable) {
+
+    services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
+
+    services.xserver.displayManager.lightdm.greeter = mkDefault {
+      package = xgreeters;
+      name = "io.elementary.greeter";
+    };
+
+    environment.etc."lightdm/io.elementary.greeter.conf".source = "${pkgs.pantheon.elementary-greeter}/etc/lightdm/io.elementary.greeter.conf";
+    environment.etc."wingpanel.d/io.elementary.greeter.whitelist".source = "${pkgs.pantheon.elementary-default-settings}/etc/wingpanel.d/io.elementary.greeter.whitelist";
+
+  };
+}
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 567c3ac3454..3ab4f26399f 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -81,6 +81,7 @@ in
     ./lightdm-greeters/gtk.nix
     ./lightdm-greeters/mini.nix
     ./lightdm-greeters/enso-os.nix
+    ./lightdm-greeters/pantheon.nix
   ];
 
   options = {