summary refs log tree commit diff
path: root/nixos/modules/services/x11/xserver.nix
diff options
context:
space:
mode:
authorAtemu <atemu.main@gmail.com>2020-02-15 22:53:56 +0100
committerAtemu <atemu.main@gmail.com>2020-12-13 06:15:33 +0100
commit693a31ab7b53de423d4ed87f35a6a43604d02039 (patch)
treeb29f97b0e820c952b06bb997e54fab24c4c7bfc6 /nixos/modules/services/x11/xserver.nix
parenta5ea1b6fb3e4906802e5d01e7fa08913d5b4f235 (diff)
downloadnixpkgs-693a31ab7b53de423d4ed87f35a6a43604d02039.tar
nixpkgs-693a31ab7b53de423d4ed87f35a6a43604d02039.tar.gz
nixpkgs-693a31ab7b53de423d4ed87f35a6a43604d02039.tar.bz2
nixpkgs-693a31ab7b53de423d4ed87f35a6a43604d02039.tar.lz
nixpkgs-693a31ab7b53de423d4ed87f35a6a43604d02039.tar.xz
nixpkgs-693a31ab7b53de423d4ed87f35a6a43604d02039.tar.zst
nixpkgs-693a31ab7b53de423d4ed87f35a6a43604d02039.zip
nixos/xserver: make logFile configurable
It makes sense for it to be /dev/null for all the displayManagers but startx,
it needs a different logFile configuration.
Diffstat (limited to 'nixos/modules/services/x11/xserver.nix')
-rw-r--r--nixos/modules/services/x11/xserver.nix16
1 files changed, 14 insertions, 2 deletions
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 9e971671c47..eb8c4c17e98 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -518,6 +518,19 @@ in
         '';
       };
 
+      logFile = mkOption {
+        type = types.nullOr types.str;
+        default = "/dev/null";
+        example = "/var/log/Xorg.0.log";
+        description = ''
+          Controls the file Xorg logs to.
+
+          The default of <literal>/dev/null</literal> is set so that systemd services (like <literal>displayManagers</literal>) only log to the journal and don't create their own log files.
+
+          Setting this to <literal>null</literal> will not pass the <literal>-logfile</literal> argument to Xorg which allows it to log to its default logfile locations instead (see <literal>man Xorg</literal>). You probably only want this behaviour when running Xorg manually (e.g. via <literal>startx</literal>).
+        '';
+      };
+
       verbose = mkOption {
         type = types.nullOr types.int;
         default = 3;
@@ -692,11 +705,10 @@ in
     services.xserver.displayManager.xserverArgs =
       [ "-config ${configFile}"
         "-xkbdir" "${cfg.xkbDir}"
-        # Log at the default verbosity level to stderr rather than /var/log/X.*.log.
-         "-logfile" "/dev/null"
       ] ++ optional (cfg.display != null) ":${toString cfg.display}"
         ++ optional (cfg.tty     != null) "vt${toString cfg.tty}"
         ++ optional (cfg.dpi     != null) "-dpi ${toString cfg.dpi}"
+        ++ optional (cfg.logFile != null) "-logfile ${toString cfg.logFile}"
         ++ optional (cfg.verbose != null) "-verbose ${toString cfg.verbose}"
         ++ optional (!cfg.enableTCP) "-nolisten tcp"
         ++ optional (cfg.autoRepeatDelay != null) "-ardelay ${toString cfg.autoRepeatDelay}"