mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-27 22:03:54 +03:00
nixos/display-managers/auto: remove
This module allows root autoLogin, so we would break that for users, but they shouldn't be using it anyways. This gives the impression like auto is some special display manager, when it's just lightdm and special pam rules to allow root autoLogin. It was created for NixOS's testing so I believe this is where it belongs.
This commit is contained in:
parent
7adffb14cd
commit
c95612a5a2
@ -85,11 +85,14 @@
|
|||||||
<programlisting>
|
<programlisting>
|
||||||
<xref linkend="opt-services.xserver.displayManager.defaultSession"/> = "none+i3";
|
<xref linkend="opt-services.xserver.displayManager.defaultSession"/> = "none+i3";
|
||||||
</programlisting>
|
</programlisting>
|
||||||
And, finally, to enable auto-login for a user <literal>johndoe</literal>:
|
Every display manager in NixOS supports auto-login, here is an example
|
||||||
|
using lightdm for a user <literal>alice</literal>:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<xref linkend="opt-services.xserver.displayManager.auto.enable"/> = true;
|
<xref linkend="opt-services.xserver.displayManager.lightdm.enable"/> = true;
|
||||||
<xref linkend="opt-services.xserver.displayManager.auto.user"/> = "johndoe";
|
<xref linkend="opt-services.xserver.displayManager.lightdm.autoLogin.enable"/> = true;
|
||||||
|
<xref linkend="opt-services.xserver.displayManager.lightdm.autoLogin.user"/> = "alice";
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
The options are named identically for all other display managers.
|
||||||
</para>
|
</para>
|
||||||
</simplesect>
|
</simplesect>
|
||||||
<simplesect xml:id="sec-x11-graphics-cards-nvidia">
|
<simplesect xml:id="sec-x11-graphics-cards-nvidia">
|
||||||
|
@ -457,6 +457,39 @@ users.users.me =
|
|||||||
The <literal>gcc5</literal> and <literal>gfortran5</literal> packages have been removed.
|
The <literal>gcc5</literal> and <literal>gfortran5</literal> packages have been removed.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The <option>services.xserver.displayManager.auto</option> module has been removed.
|
||||||
|
It was only intended for use in internal NixOS tests, and gave the false impression
|
||||||
|
of it being a special display manager when it's actually LightDM.
|
||||||
|
Please use the <xref linkend="opt-services.xserver.displayManager.lightdm.autoLogin"/> options instead,
|
||||||
|
or any other display manager in NixOS as they all support auto-login. If you used this module specifically
|
||||||
|
because it permitted root auto-login you can override the lightdm-autologin pam module like:
|
||||||
|
<programlisting>
|
||||||
|
<link xlink:href="#opt-security.pam.services._name__.text">security.pam.services.lightdm-autologin.text</link> = lib.mkForce ''
|
||||||
|
auth requisite pam_nologin.so
|
||||||
|
auth required pam_succeed_if.so quiet
|
||||||
|
auth required pam_permit.so
|
||||||
|
|
||||||
|
account include lightdm
|
||||||
|
|
||||||
|
password include lightdm
|
||||||
|
|
||||||
|
session include lightdm
|
||||||
|
'';
|
||||||
|
</programlisting>
|
||||||
|
The difference is the:
|
||||||
|
<programlisting>
|
||||||
|
auth required pam_succeed_if.so quiet
|
||||||
|
</programlisting>
|
||||||
|
line, where default it's:
|
||||||
|
<programlisting>
|
||||||
|
auth required pam_succeed_if.so uid >= 1000 quiet
|
||||||
|
</programlisting>
|
||||||
|
not permitting users with uid's below 1000 (like root).
|
||||||
|
All other display managers in NixOS are configured like this.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -865,7 +865,6 @@
|
|||||||
./services/x11/unclutter.nix
|
./services/x11/unclutter.nix
|
||||||
./services/x11/unclutter-xfixes.nix
|
./services/x11/unclutter-xfixes.nix
|
||||||
./services/x11/desktop-managers/default.nix
|
./services/x11/desktop-managers/default.nix
|
||||||
./services/x11/display-managers/auto.nix
|
|
||||||
./services/x11/display-managers/default.nix
|
./services/x11/display-managers/default.nix
|
||||||
./services/x11/display-managers/gdm.nix
|
./services/x11/display-managers/gdm.nix
|
||||||
./services/x11/display-managers/lightdm.nix
|
./services/x11/display-managers/lightdm.nix
|
||||||
|
@ -34,6 +34,13 @@ with lib;
|
|||||||
as the underlying package isn't being maintained. Working alternatives are
|
as the underlying package isn't being maintained. Working alternatives are
|
||||||
libinput and synaptics.
|
libinput and synaptics.
|
||||||
'')
|
'')
|
||||||
|
(mkRemovedOptionModule [ "services" "xserver" "displayManager" "auto" ] ''
|
||||||
|
The services.xserver.displayManager.auto module has been removed
|
||||||
|
because it was only intended for use in internal NixOS tests, and gave the
|
||||||
|
false impression of it being a special display manager when it's actually
|
||||||
|
LightDM. Please use the services.xserver.displayManager.lightdm.autoLogin options
|
||||||
|
instead, or any other display manager in NixOS as they all support auto-login.
|
||||||
|
'')
|
||||||
|
|
||||||
# Do NOT add any option renames here, see top of the file
|
# Do NOT add any option renames here, see top of the file
|
||||||
];
|
];
|
||||||
|
@ -556,8 +556,7 @@ in
|
|||||||
|
|
||||||
services.xserver.displayManager.lightdm.enable =
|
services.xserver.displayManager.lightdm.enable =
|
||||||
let dmconf = cfg.displayManager;
|
let dmconf = cfg.displayManager;
|
||||||
default = !( dmconf.auto.enable
|
default = !(dmconf.gdm.enable
|
||||||
|| dmconf.gdm.enable
|
|
||||||
|| dmconf.sddm.enable
|
|| dmconf.sddm.enable
|
||||||
|| dmconf.xpra.enable );
|
|| dmconf.xpra.enable );
|
||||||
in mkIf (default) true;
|
in mkIf (default) true;
|
||||||
|
@ -23,7 +23,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
|
|||||||
|
|
||||||
machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
|
machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
|
||||||
machine.virtualisation.memorySize = 2047;
|
machine.virtualisation.memorySize = 2047;
|
||||||
machine.services.xserver.displayManager.auto.user = "alice";
|
machine.test-support.displayManager.auto.user = "alice";
|
||||||
machine.environment.systemPackages = [ chromiumPkg ];
|
machine.environment.systemPackages = [ chromiumPkg ];
|
||||||
|
|
||||||
startupHTML = pkgs.writeText "chromium-startup.html" ''
|
startupHTML = pkgs.writeText "chromium-startup.html" ''
|
||||||
|
@ -5,7 +5,7 @@ with lib;
|
|||||||
let
|
let
|
||||||
|
|
||||||
dmcfg = config.services.xserver.displayManager;
|
dmcfg = config.services.xserver.displayManager;
|
||||||
cfg = dmcfg.auto;
|
cfg = config.test-support.displayManager.auto;
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ in
|
|||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
services.xserver.displayManager.auto = {
|
test-support.displayManager.auto = {
|
||||||
|
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
default = false;
|
default = false;
|
@ -1,9 +1,14 @@
|
|||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{ services.xserver.enable = true;
|
{
|
||||||
|
imports = [
|
||||||
|
./auto.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
# Automatically log in.
|
# Automatically log in.
|
||||||
services.xserver.displayManager.auto.enable = true;
|
test-support.displayManager.auto.enable = true;
|
||||||
|
|
||||||
# Use IceWM as the window manager.
|
# Use IceWM as the window manager.
|
||||||
# Don't use a desktop manager.
|
# Don't use a desktop manager.
|
||||||
|
@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||||||
|
|
||||||
machine = { lib, ... }: {
|
machine = { lib, ... }: {
|
||||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
services.xserver.displayManager.defaultSession = lib.mkForce "none+i3";
|
services.xserver.displayManager.defaultSession = lib.mkForce "none+i3";
|
||||||
services.xserver.windowManager.i3.enable = true;
|
services.xserver.windowManager.i3.enable = true;
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
|
|||||||
];
|
];
|
||||||
|
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
environment.systemPackages = [ pkgs.signal-desktop ];
|
environment.systemPackages = [ pkgs.signal-desktop ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ import ./make-test.nix ({ pkgs, ... }: {
|
|||||||
systemd.extraConfig = "DefaultEnvironment=\"XXX_SYSTEM=foo\"";
|
systemd.extraConfig = "DefaultEnvironment=\"XXX_SYSTEM=foo\"";
|
||||||
systemd.user.extraConfig = "DefaultEnvironment=\"XXX_USER=bar\"";
|
systemd.user.extraConfig = "DefaultEnvironment=\"XXX_USER=bar\"";
|
||||||
services.journald.extraConfig = "Storage=volatile";
|
services.journald.extraConfig = "Storage=volatile";
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
|
|
||||||
systemd.shutdown.test = pkgs.writeScript "test.shutdown" ''
|
systemd.shutdown.test = pkgs.writeScript "test.shutdown" ''
|
||||||
#!${pkgs.stdenv.shell}
|
#!${pkgs.stdenv.shell}
|
||||||
|
@ -356,7 +356,7 @@ let
|
|||||||
virtualisation.qemu.options =
|
virtualisation.qemu.options =
|
||||||
if useKvmNestedVirt then ["-cpu" "kvm64,vmx=on"] else [];
|
if useKvmNestedVirt then ["-cpu" "kvm64,vmx=on"] else [];
|
||||||
virtualisation.virtualbox.host.enable = true;
|
virtualisation.virtualbox.host.enable = true;
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
users.users.alice.extraGroups = let
|
users.users.alice.extraGroups = let
|
||||||
inherit (config.virtualisation.virtualbox.host) enableHardening;
|
inherit (config.virtualisation.virtualbox.host) enableHardening;
|
||||||
in lib.mkIf enableHardening (lib.singleton "vboxusers");
|
in lib.mkIf enableHardening (lib.singleton "vboxusers");
|
||||||
|
@ -9,7 +9,7 @@ with lib;
|
|||||||
nodes.machine = {
|
nodes.machine = {
|
||||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||||
|
|
||||||
services.xserver.displayManager.auto.user = "bob";
|
test-support.displayManager.auto.user = "bob";
|
||||||
services.xserver.xautolock.enable = true;
|
services.xserver.xautolock.enable = true;
|
||||||
services.xserver.xautolock.time = 1;
|
services.xserver.xautolock.time = 1;
|
||||||
};
|
};
|
||||||
|
@ -4,12 +4,20 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||||||
machine =
|
machine =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{ imports = [ ./common/user-account.nix ];
|
{
|
||||||
|
imports = [
|
||||||
|
./common/user-account.nix
|
||||||
|
];
|
||||||
|
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
|
|
||||||
services.xserver.displayManager.auto.enable = true;
|
services.xserver.displayManager.lightdm = {
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
enable = true;
|
||||||
|
autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "alice";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.xserver.desktopManager.xfce.enable = true;
|
services.xserver.desktopManager.xfce.enable = true;
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||||||
|
|
||||||
machine = { pkgs, ... }: {
|
machine = { pkgs, ... }: {
|
||||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
services.xserver.displayManager.defaultSession = "none+xmonad";
|
services.xserver.displayManager.defaultSession = "none+xmonad";
|
||||||
services.xserver.windowManager.xmonad = {
|
services.xserver.windowManager.xmonad = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -14,7 +14,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||||||
|
|
||||||
client = { pkgs, ... }: {
|
client = { pkgs, ... }: {
|
||||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
environment.systemPackages = [ pkgs.freerdp ];
|
environment.systemPackages = [ pkgs.freerdp ];
|
||||||
services.xrdp.enable = true;
|
services.xrdp.enable = true;
|
||||||
services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm";
|
services.xrdp.defaultWindowManager = "${pkgs.icewm}/bin/icewm";
|
||||||
|
@ -10,12 +10,12 @@ with lib;
|
|||||||
simple = {
|
simple = {
|
||||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||||
programs.xss-lock.enable = true;
|
programs.xss-lock.enable = true;
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
};
|
};
|
||||||
|
|
||||||
custom_lockcmd = { pkgs, ... }: {
|
custom_lockcmd = { pkgs, ... }: {
|
||||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||||
services.xserver.displayManager.auto.user = "alice";
|
test-support.displayManager.auto.user = "alice";
|
||||||
|
|
||||||
programs.xss-lock = {
|
programs.xss-lock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -11,7 +11,7 @@ with lib;
|
|||||||
machine = {
|
machine = {
|
||||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||||
|
|
||||||
services.xserver.displayManager.auto.user = "bob";
|
test-support.displayManager.auto.user = "bob";
|
||||||
|
|
||||||
programs.yabar.enable = true;
|
programs.yabar.enable = true;
|
||||||
programs.yabar.bars = {
|
programs.yabar.bars = {
|
||||||
|
Loading…
Reference in New Issue
Block a user