diff options
author | figsoda <figsoda@pm.me> | 2021-08-22 13:44:29 -0400 |
---|---|---|
committer | figsoda <figsoda@pm.me> | 2021-08-22 13:44:29 -0400 |
commit | 7239ddf173f547e3659e2923e7a7f029d639e1df (patch) | |
tree | 197e2689494a2932770f47ea9326806904fd390c /nixos/modules/services | |
parent | 002cf7d42de8b421a3f664f7625afe6ec279be75 (diff) | |
download | nixpkgs-7239ddf173f547e3659e2923e7a7f029d639e1df.tar nixpkgs-7239ddf173f547e3659e2923e7a7f029d639e1df.tar.gz nixpkgs-7239ddf173f547e3659e2923e7a7f029d639e1df.tar.bz2 nixpkgs-7239ddf173f547e3659e2923e7a7f029d639e1df.tar.lz nixpkgs-7239ddf173f547e3659e2923e7a7f029d639e1df.tar.xz nixpkgs-7239ddf173f547e3659e2923e7a7f029d639e1df.tar.zst nixpkgs-7239ddf173f547e3659e2923e7a7f029d639e1df.zip |
nixos/sx: init
Diffstat (limited to 'nixos/modules/services')
-rw-r--r-- | nixos/modules/services/x11/display-managers/sx.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/display-managers/sx.nix b/nixos/modules/services/x11/display-managers/sx.nix new file mode 100644 index 00000000000..132531c0ddc --- /dev/null +++ b/nixos/modules/services/x11/display-managers/sx.nix @@ -0,0 +1,37 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.services.xserver.displayManager.sx; + +in { + options = { + services.xserver.displayManager.sx = { + enable = mkEnableOption "sx pseudo-display manager" // { + description = '' + Whether to enable the "sx" pseudo-display manager, which allows users + to start manually via the "sx" command from a vt shell. The X server + runs under the user's id, not as root. The user must provide a + ~/.config/sx/sxrc file containing session startup commands, see + sx(1). This is not automatically generated from the desktopManager + and windowManager settings. sx doesn't have a way to directly set + X server flags, but it can be done by overriding its xorgserver + dependency. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.sx ]; + services.xserver = { + exportConfiguration = true; + displayManager = { + job.execCmd = ""; + lightdm.enable = mkForce false; + }; + logFile = mkDefault null; + }; + systemd.services.display-manager.enable = false; + }; +} |