1390 Commits

Author SHA1 Message Date
Tor Hedin Brønner
9fad9fb869
nixos/displayManager: Create a common environment wrapper for all dms
This makes it easier to support a wider variety of .desktop session files. In
particular this makes it possible to use both the «legacy» sessions and upstream
session files.

We separate `xsession` into two parts, `xsessionWrapper` and `xsession`.
`xsessionWrapper` sets up the correct environment and then lauches the session's
Exec command (from the .desktop file), falling back to launching the default
window/desktopManager through the `xsession` script (required by at least some
nixos tests).

`xsession` then _only_ handles launching desktop-managers/window-managers defined
through `services.xserver.desktopManager.session`.
2018-08-01 19:14:32 +02:00
Jan Tojnar
e6056c72d1
nixos/gnome3: use upstream session file
Pass gnome-session to extraSessionFilePackages, remove unnecessary environment variables, move the rest out of old session option, and then drop the option.
2018-08-01 19:14:31 +02:00
Jan Tojnar
eb65e5ce56
nixos/gnome3: remove session path
Global environment variables are not very Nix-y.
2018-08-01 19:14:31 +02:00
Jan Tojnar
0e1c01451f
nixos/gnome3: rely on xdg autostart for xdg-user-dirs 2018-08-01 19:14:30 +02:00
Jan Tojnar
cc6d77c83f
gnome3.gdm: add upstream xsession 2018-08-01 19:14:30 +02:00
Jan Tojnar
83fc9a9825
nixos/display-manager.default: add extraSessionFilePackages option 2018-08-01 19:14:30 +02:00
Jan Tojnar
a8c6489fd4
nixos/services.xserver.displayManager: move X sessions to a subdirectory
Previously, the mkDesktops function produced a flat package containing
session files in the top level. As a preparation for introduction of
Wayland sessions, the files will now be placed to $out/share/xsessions.
2018-08-01 19:14:29 +02:00
José Romildo Malaquias
63b8e9a2d1 lxqt: add ${config.system.path}/share to XDG_CONFIG_DIRS 2018-07-27 19:59:45 -03:00
volth
cc55a3ebcb treewide: fix build with disallowed aliases (#43872)
fixes build with disallowed aliases
2018-07-21 22:03:24 -04:00
Jörg Thalheim
e9ff0f9448
Merge pull request #43863 from volth/unused4
[bot] nixos/*: remove unused arguments in lambdas
2018-07-21 16:39:08 +01:00
volth
2e979e8ceb [bot] nixos/*: remove unused arguments in lambdas 2018-07-20 20:56:59 +00:00
volth
6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
volth
87f5930c3f [bot]: remove unreferenced code 2018-07-20 18:48:37 +00:00
Thomas Tuegel
5ea799defc
Merge pull request #43243 from peterhoeg/f/sddmqt
sddm: use tmpfiles.d to wipe QML cache
2018-07-14 13:16:18 -05:00
Thomas Tuegel
1301973797
Merge pull request #42910 from bkchr/kde_update_start_menu
services.plasma5: Update start menu with an activationScript
2018-07-14 13:13:39 -05:00
rembo10
c84e668109 nixos/lightdm-gtk-greeter: svg icon support 2018-07-12 18:20:07 +03:00
volth
88939a1949 nixos: remove option services.xserver.desktopManager.xfce.screenLock 2018-07-12 01:45:41 +00:00
Ambroz Bizjak
f26153754a nixos/xserver: Implement configuration of NVIDIA Optimus via PRIME
This adds configuration options which automate the configuration of NVIDIA Optimus using PRIME. This allows using the NVIDIA proprietary driver on Optimus laptops, in order to render using the NVIDIA GPU while outputting to displays connected only to the integrated Intel GPU. It also adds an option for enabling kernel modesetting for the NVIDIA driver (via a kernel command line flag); this is particularly useful together with Optimus/PRIME because it fixes tearing on PRIME-connected screens.

The user still needs to enable the Optimus/PRIME feature and specify the bus IDs of the Intel and NVIDIA GPUs, but this is still much easier for users and more reliable. The implementation handles both the X configuration file as well as getting display managers to run certain necessary `xrandr` commands just after X has started.

Configuration of commands run after X startup is done using a new configuration option `services.xserver.displayManager.setupCommands`. Support for this option is implemented for LightDM, GDM and SDDM; all of these have been tested with this feature including logging into a Plasma session.

Note: support of `setupCommands` for GDM is implemented by making GDM run the session executable via a wrapper; the wrapper will run the `setupCommands` before execing. This seemed like the simplest and most reliable approach, and solves running these commands both for GDM's X server and user X servers (GDM starts separate X servers for itself and user sessions). An alternative approach would be with autostart files but that seems harder to set up and less reliable.

Note that some simple features for X configuration file generation (in `xserver.nix`) are added which are used in the implementation:
- `services.xserver.extraConfig`: Allows adding arbitrary new sections. This is used to add the Device section for the Intel GPU.
- `deviceSection` and `screenSection` within `services.xserver.drivers`. This allows the nvidia configuration module to add additional contents into the `Device` and `Screen` sections of the "nvidia" driver, and not into such sections for other drivers that may be enabled.
2018-07-09 18:46:13 +02:00
Peter Hoeg
cd4e54b3a1 sddm: use tmpfiles.d to wipe QML cache 2018-07-09 14:51:05 +08:00
Matthew Bauer
a92472fae1
Merge pull request #42724 from yshui/libinput-button
libinput: add button to scrollMethod
2018-07-05 22:10:26 -04:00
Bastian Köcher
8b3fb83160 services.plasma5: Update start menu with an activationScript
To update the plasma start menu `kbuildsyscoca5` needs to be executed.
There are several people complaining about missing applications in their
plasma start menu.
This patch adds a activationScript for plasma, that runs
`kbuildsyscoca5` for each user that has `isNormalUser` == `true`.
2018-07-03 15:18:07 +02:00
Florian Klink
fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
Yuxuan Shui
a8ff4a073f nixos/libinput: add button to scrollMethod
Close #17840
2018-06-28 12:15:00 +01:00
Ambroz Bizjak
d9fa88dfe8 Use a NixOS module for generating the gdk-pixbuf loaders cache.
Fixes issue #33231 and makes it possible to enable Plasma and KDE at the same time.

Previously, this worked like this:
- The gdk-pixbuf package comes with a cache file covering the modules bundled
  with gdk-pixbuf.
- The librsvg package comes with a cache covering modules from gdk-pixbuf as
  well as librsvg.
- plasma5 and xfce modules set the environment variable GDK_PIXBUF_MODULE_FILE
  to the one from librsvg, so that SVG was supported in addition to the
  formats supported by gdk-pixbuf. However if both were enabled a configuration
  conflict would result (despite setting to the same value).

While this sort of worked (ignoring the conflict which perhaps could be hacked
around), it is unscalable and a hack, as there would be a real problem when one
wanted to add a third package that supports additional image formats.

A new NixOS module (gdk-pixbuf) is added with a configuration option
(modulePackages) that other modules use to request specific packages to be
included in the loaders cache. When any package is present in the list, the
module generates a system-wide loaders cache which includes the requested
packages (and always gdk-pixbuf itself), and sets the environment variable
GDK_PIXBUF_MODULE_FILE to point to the generated cache file.

The plasma5 and xfce modules are updated to add librsvg to modulePackages
instead of setting GDK_PIXBUF_MODULE_FILE.

Note that many packages create wrappers that set GDK_PIXBUF_MODULE_FILE,
some directly to the one from librsvg. Therefore this change does not
change the existing hack in the librsvg package which ensures that
file is generated. This change aims only to solve the conflict in the
global environent variable configuration.
2018-06-25 16:23:45 +02:00
Matthew Justin Bauer
8180c32b73
Merge pull request #39153 from mnacamura/lightdm-mini-greeter
lightdm-mini-greeter: init at 0.3.2
2018-06-18 11:38:35 -04:00
Mitsuhiro Nakamura
83b389394b lightdm-mini-greeter: init at 0.3.2 2018-06-18 18:55:06 +09:00
tilpner
903292a2d8
nixos/awesome: Add noArgb option
Add option to disable client transparency support in awesome,
which greatly improves performance in my setup
(and presumably will in some others).
2018-06-13 19:47:26 +02:00
Jan Malakhovski
b01ccbb899 nixos: xserver: add related packages 2018-06-13 16:25:10 +00:00
Peter Hoeg
159c1576c8
Merge pull request #40579 from peterhoeg/m/sddm
sddm: add support for hidpi mode
2018-05-30 16:23:07 +08:00
Shea Levy
6da6accd30
treewide: Remove uses of builtins.toPath.
toPath has confusing semantics and is never necessary; it can always
either just be omitted or replaced by pre-concatenating `/.`. It has
been marked as "!!! obsolete?" for more than 10 years in a C++
comment, hopefully removing it will let us properly deprecate and,
eventually, remove it.
2018-05-22 16:42:02 -04:00
Jan Tojnar
75cc398b97
Merge pull request #39615 from jtojnar/gdm-wayland
GDM wayland improvements
2018-05-16 16:39:12 +02:00
Jan Tojnar
54135fc733
gnome3.gdm: allow choosing user account without GNOME
Account chooser depends on AccountsService, which is normally enabled by
GNOME module but it was missing when using GDM without GNOME.
2018-05-16 16:25:22 +02:00
Peter Hoeg
b368a1103b sddm: add support for hidpi mode 2018-05-16 12:15:29 +08:00
Jan Tojnar
d5060ac3a7
Merge pull request #33371 from jtojnar/flatpak
Flatpak
2018-05-15 14:19:33 +02:00
Jan Tojnar
ec80c5e4c4
nixos/flatpak: allow specifying extra portals 2018-05-15 13:31:13 +02:00
Arcadio Rubio García
efde5fefb3 nixos: stumpwm: switch from package marked as broken to working quicklisp package (#40501) 2018-05-14 18:37:53 +02:00
Jan Malakhovski
44d612d6e5 nixos: services.xserver.desktopManager.xterm.enable: fix type 2018-05-13 01:15:23 +00:00
Milo
b405a6537c nixos/bspwm: spawn bpswm process in the background and properly set waiPID (#39707) 2018-04-30 17:03:05 +00:00
Jörg Thalheim
468f3ce0ed nixos/xserver: remove nvidiaLegacy173 from videoDrivers.examples
see 92265e807e (commitcomment-28773179)
2018-04-27 23:02:09 +01:00
Jan Malakhovski
92265e807e nixos: xserver: add related packages 2018-04-27 18:10:04 +01:00
Frederik Rietdijk
595a72589f Merge master into staging 2018-04-08 10:54:17 +02:00
Tim Engler
d488a9dc7a nixos/lxqt: enable upower if config.powerManagement is enabled (#38318) 2018-04-06 08:49:55 +01:00
Johannes Lötzsch
1ab3736146 mate/mate-screensaver: fixed unixAuth
Without this fix, it's not possible to unlock the mate-screensaver.
2018-04-01 19:01:26 +02:00
Frederik Rietdijk
9d2ff98571 Merge remote-tracking branch 'upstream/master' into HEAD 2018-03-30 08:14:35 +02:00
Maximilian Bosch
5caa22fe0a Revert restrictive validation behavior for DM/WM defaults in the X module
The original idea behind this change (described in ticket #11064) was to
improve the assertions to avoid that users of the X server accidentally
forget to configure a DM or WM.

However this caused several issues with setups that require X, but no DM
or WM. The keymap testcases became instable as well as now disabling DMs
needs to be done explicitly.
(see https://github.com/NixOS/nixpkgs/pull/31268#issuecomment-347080036)

In the end the idea behind the change and #11064 was obviously a
mistake, so reverting it completely for now should be fine.
2018-03-28 20:34:05 +02:00
Nikolay Amiantov
4f0b59de9a xserver service: cleanup LD_LIBRARY_PATH
X libraries in LD_LIBRARY_PATH seem to not be needed anymore.
I've tracked this addition as far as I could
(02cef04c8187f12fd160d5fedf0ec8a928f02639) and they seem to be added for unfree
NVIDIA and ATI drivers but at least for NVIDIA they are not needed anymore. We
can add them with patchelf instead if it turns out to be the case with ATI.
2018-03-26 14:01:49 +03:00
Florian Klink
6ac74d60ad networkmanager-pptp: remove package
Currently broken on NixOS due to hardcoded modprobe binary path (see
bug #30756 from Oct 2017), no activity on a proposed fix for months.
As the protocol is terribly broken anyways, let's better remove it
completely, and not talk about anymore ;-)

Closes #30756.
2018-03-23 22:24:50 +01:00
Jörg Thalheim
5c1c4fbb06
Merge pull request #37084 from herrwiese/evilwm
nixos/window-managers: actually add evilwm to default.nix
2018-03-18 11:13:23 +00:00
Andreas Wiese
c7e1dff94e nixos/window-managers: actually add evilwm to default.nix
Commit 1f2b938 introduced a module for evilwm as a window-manager, but
did not actually add this module to window-manager's default.nix which
renders it useless.
2018-03-15 10:22:53 +01:00
Jan Malakhovski
7079e744d4 Merge branch 'master' into staging
Resolved the following conflicts (by carefully applying patches from the both
branches since the fork point):

   pkgs/development/libraries/epoxy/default.nix
   pkgs/development/libraries/gtk+/3.x.nix
   pkgs/development/python-modules/asgiref/default.nix
   pkgs/development/python-modules/daphne/default.nix
   pkgs/os-specific/linux/systemd/default.nix
2018-03-10 20:38:13 +00:00