diff options
author | Matthew Justin Bauer <mjbauer95@gmail.com> | 2018-06-18 11:38:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-18 11:38:35 -0400 |
commit | 8180c32b7384878687e352c2ab7275fd7d38267a (patch) | |
tree | f6207a05db299a0bc6559357747e92b502ab2bdf /nixos | |
parent | 22f818dcf3e9825f18b5191f8de3cecf36dabed7 (diff) | |
parent | 83b389394b8ede5eb29b72c9ccda9380ee4aaf4e (diff) | |
download | nixlib-8180c32b7384878687e352c2ab7275fd7d38267a.tar nixlib-8180c32b7384878687e352c2ab7275fd7d38267a.tar.gz nixlib-8180c32b7384878687e352c2ab7275fd7d38267a.tar.bz2 nixlib-8180c32b7384878687e352c2ab7275fd7d38267a.tar.lz nixlib-8180c32b7384878687e352c2ab7275fd7d38267a.tar.xz nixlib-8180c32b7384878687e352c2ab7275fd7d38267a.tar.zst nixlib-8180c32b7384878687e352c2ab7275fd7d38267a.zip |
Merge pull request #39153 from mnacamura/lightdm-mini-greeter
lightdm-mini-greeter: init at 0.3.2
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix | 100 | ||||
-rw-r--r-- | nixos/modules/services/x11/display-managers/lightdm.nix | 1 |
2 files changed, 101 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix new file mode 100644 index 000000000000..ba8151a60f20 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix @@ -0,0 +1,100 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + dmcfg = config.services.xserver.displayManager; + ldmcfg = dmcfg.lightdm; + cfg = ldmcfg.greeters.mini; + + xgreeters = pkgs.linkFarm "lightdm-mini-greeter-xgreeters" [{ + path = "${pkgs.lightdm-mini-greeter}/share/xgreeters/lightdm-mini-greeter.desktop"; + name = "lightdm-mini-greeter.desktop"; + }]; + + miniGreeterConf = pkgs.writeText "lightdm-mini-greeter.conf" + '' + [greeter] + user = ${cfg.user} + show-password-label = true + password-label-text = Password: + show-input-cursor = true + + [greeter-hotkeys] + mod-key = meta + shutdown-key = s + restart-key = r + hibernate-key = h + suspend-key = u + + [greeter-theme] + font = Sans + font-size = 1em + text-color = "#080800" + error-color = "#F8F8F0" + background-image = "${ldmcfg.background}" + background-color = "#1B1D1E" + window-color = "#F92672" + border-color = "#080800" + border-width = 2px + layout-space = 15 + password-color = "#F8F8F0" + password-background-color = "#1B1D1E" + + ${cfg.extraConfig} + ''; + +in +{ + options = { + + services.xserver.displayManager.lightdm.greeters.mini = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable lightdm-mini-greeter as the lightdm greeter. + + Note that this greeter starts only the default X session. + You can configure the default X session by + <option>services.xserver.desktopManager.default</option> and + <option>services.xserver.windowManager.default</option>. + ''; + }; + + user = mkOption { + type = types.str; + default = "root"; + description = '' + The user to login as. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration that should be put in the lightdm-mini-greeter.conf + configuration file. + ''; + }; + + }; + + }; + + config = mkIf (ldmcfg.enable && cfg.enable) { + + services.xserver.displayManager.lightdm.greeters.gtk.enable = false; + + services.xserver.displayManager.lightdm.greeter = mkDefault { + package = xgreeters; + name = "lightdm-mini-greeter"; + }; + + environment.etc."lightdm/lightdm-mini-greeter.conf".source = miniGreeterConf; + + }; +} diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 9d30155a7234..5beadacdfa93 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -72,6 +72,7 @@ in # preferred. imports = [ ./lightdm-greeters/gtk.nix + ./lightdm-greeters/mini.nix ]; options = { |