diff options
author | xeji <36407913+xeji@users.noreply.github.com> | 2018-10-10 23:07:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-10 23:07:44 +0200 |
commit | af6e2464bba2d178b278c66d822f8c95378e6f58 (patch) | |
tree | bcff4212238442c4c5b18838011cdac0d31ad1c8 /nixos | |
parent | 675e0aa85d5d26ea0a100aa030763c3da07b7b73 (diff) | |
download | nixlib-af6e2464bba2d178b278c66d822f8c95378e6f58.tar nixlib-af6e2464bba2d178b278c66d822f8c95378e6f58.tar.gz nixlib-af6e2464bba2d178b278c66d822f8c95378e6f58.tar.bz2 nixlib-af6e2464bba2d178b278c66d822f8c95378e6f58.tar.lz nixlib-af6e2464bba2d178b278c66d822f8c95378e6f58.tar.xz nixlib-af6e2464bba2d178b278c66d822f8c95378e6f58.tar.zst nixlib-af6e2464bba2d178b278c66d822f8c95378e6f58.zip |
nixos/display-managers/startx: init (#47773)
Dummy display manager that allows running X as a normal user. The X server is started manually from a vt using `startx`. Session startup commands must be provided by the user in ~/.xinitrc, which is NOT automatically generated.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/x11/display-managers/startx.nix | 44 |
2 files changed, 45 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b6849a4df574..261de6955ec2 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -735,6 +735,7 @@ ./services/x11/display-managers/lightdm.nix ./services/x11/display-managers/sddm.nix ./services/x11/display-managers/slim.nix + ./services/x11/display-managers/startx.nix ./services/x11/display-managers/xpra.nix ./services/x11/fractalart.nix ./services/x11/hardware/libinput.nix diff --git a/nixos/modules/services/x11/display-managers/startx.nix b/nixos/modules/services/x11/display-managers/startx.nix new file mode 100644 index 000000000000..15609540a6e7 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/startx.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.xserver.displayManager.startx; + +in + +{ + + ###### interface + + options = { + services.xserver.displayManager.startx = { + enable = mkOption { + default = false; + description = '' + Whether to enable the dummy "startx" pseudo-display manager, + which allows users to start X manually via the "startx" command + from a vt shell. The X server runs under the user's id, not as root. + The user must provide a ~/.xinintrc file containing session startup + commands, see startx(1). This is not autmatically generated + from the desktopManager and windowManager settings. + ''; + }; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + services.xserver = { + exportConfiguration = true; + displayManager.job.execCmd = ""; + displayManager.lightdm.enable = lib.mkForce false; + }; + systemd.services.display-manager.enable = false; + environment.systemPackages = with pkgs; [ xorg.xinit ]; + }; + +} |