987400b848
Running `nixos/tests/keepassxc.nix` shows:
```
machine # [ 18.705390] xsession[985]: /nix/store/2g2jx5c6x3p152wbiijr0rmky7byqivc-xsession: line 13: nn: command not found
```
This garbled bash script runs without `set -o errexit` and thus skips
"\n\n" as invalid command:
```
$ cat -n /nix/store/2g2jx5c6x3p152wbiijr0rmky7byqivc-xsession
...
\n\n
if [ -e $HOME/.background-image ]; then
/nix/store/wq1d1ph8wj4alpx78akvpbd0a0m9qkd1-feh-3.8/bin/feh --bg-scale $HOME/.background-image
fi
...
```
KeePassXC uses it through
`nixos/modules/services/x11/display-managers/default.nix`:
```
...
# Script responsible for starting the window manager and the desktop manager.
xsession = dm: wm: pkgs.writeScript "xsession" ''
#! ${pkgs.bash}/bin/bash
# Legacy session script used to construct .desktop files from
# `services.xserver.displayManager.session` entries. Called from
# `sessionWrapper`.
# Start the window manager.
${wm.start}
# Start the desktop manager.
${dm.start}
...
'';
...
```
The bogus line was introduced in PR #160752:
```
commit
|
||
---|---|---|
.. | ||
desktop-managers | ||
display-managers | ||
hardware | ||
window-managers | ||
clight.nix | ||
colord.nix | ||
extra-layouts.nix | ||
fractalart.nix | ||
gdk-pixbuf.nix | ||
imwheel.nix | ||
picom.nix | ||
redshift.nix | ||
terminal-server.nix | ||
touchegg.nix | ||
unclutter-xfixes.nix | ||
unclutter.nix | ||
urserver.nix | ||
urxvtd.nix | ||
xautolock.nix | ||
xbanish.nix | ||
xfs.conf | ||
xfs.nix | ||
xserver.nix |