Commit graph

955 commits

Author SHA1 Message Date
Edmund Wu 2d1ecc482d
lightdm-enso-os-greeter: init at 0.2.1 2018-08-14 11:06:17 -04:00
Michael Peyton Jones 316669327c
geoclue2 service: add option to run demo agent 2018-08-14 15:55:04 +01:00
Michael Peyton Jones a1762065c3
redshift: install desktop files, and use absolute paths in them to avoid confusing geoclue agent 2018-08-14 15:53:39 +01:00
Edmund Wu ced374cf98
display-managers: rely on socket to activate pulseaudio 2018-08-10 12:43:47 -04:00
Silvan Mosberger c08244fc1b
Merge pull request #44649 from dlahoti/patch-1
add `/share/sddm/themes` to `environment.pathsToLink`
2018-08-09 23:41:47 +02:00
Deven Lahoti 414e6de41a nixos/sddm: add /share/sddm/themes to environment.pathsToLink
Without this, there are no SDDM themes available in the directory configured in `sddm.conf`.
2018-08-09 15:17:22 -05:00
Jan Tojnar 69c47a3d91
nixos/metacity: switch to gnome3.metacity 2018-08-09 17:36:47 +02:00
Bastian Köcher 60e1e81201 services.plasma5: Make activationscript use absolute path to
`kbuildsyscoca5`
2018-08-06 17:15:53 +02:00
xeji 1258e6dd3a
Merge pull request #43421 from rembo10/lightdm-gtk-greeter
nixos/lightdm-gtk-greeter: svg icon support
2018-08-04 17:55:54 +02:00
Silvan Mosberger fcb4254276
Merge pull request #43610 from jfrankenau/fix-pulse-module-x11-publish
nixos/display-managers: fix loading of module-x11-publish
2018-08-03 17:00:14 +02:00
Johannes Frankenau b7ce7d5b3f nixos/display-managers: fix loading of module-x11-publish
module-x11-publish is only provided by the pulseaudioFull package.
2018-08-03 12:22:28 +02:00
Jan Tojnar 62e665e1ec
nixos/gnome3: warn against sessionPath 2018-08-01 20:36:25 +02:00
Tor Hedin Brønner 9cd6342008
nixos/gnome3: Add back debug 2018-08-01 19:14:33 +02:00
Tor Hedin Brønner ee34f2537a
nixos/gnome3: Add back sessionPath
Implement through `services.xserver.displayManager.sessionCommands`.
2018-08-01 19:14:33 +02:00
Tor Hedin Brønner efa27d33cf
nixos/desktopManager: Only trace if the default session isn't found
The default session might be found in `extraSessionFilePackages`, but it's not
viable to detect at evaluation time, so emit a warning.

In LightDM instead of checking `defaultSessionName` against
`displayManager.session.names` we rely on the assertions in
`desktopManager` and `windowMananger` and just check that there's at least one
default set. The second assertion could never actually be triggered.
2018-08-01 19:14:32 +02:00
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
(02cef04c81) 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
Will Fancher 6b9a99e55d LightDM: Set default user session when possible. 2018-03-04 23:54:09 +00:00
Tuomas Tynkkynen 1e107443ad Merge commit '618ac29687a650d854c8bea7efd4490387589ce2' into staging 2018-03-03 22:40:32 +02:00
Jan Tojnar 618ac29687
cantarell-fonts: rename from cantarell_fonts 2018-03-03 00:36:38 +01:00
Shea Levy fec543436d
nixos: Move uses of stdenv.shell to runtimeShell. 2018-03-01 14:38:53 -05:00
Jan Tojnar a31d98f312
tree-wide: autorename gnome packages to use dashes 2018-02-25 17:41:16 +01:00
Franz Pletz 0dcf5df0ed
Merge pull request #34470 from WilliButz/fix-xautolock
nixos/xautolock: fix default defaults/examples, add assertions
2018-02-22 23:10:03 +00:00
adisbladis 1de98e8568
plasma: 5.11.5 -> 5.12.1 2018-02-14 17:24:20 +08:00
Thomas Tuegel 4688dd0cf5
Merge pull request #34526 from ttuegel/bugfix/plasma-integration/font-style
plasma-integration: Fix font style name bug with Qt >= 5.8
2018-02-04 17:41:50 -06:00
Thomas Tuegel 77a607aa88
nixos/plasma5: Fix font style names in kdeglobals 2018-02-04 13:31:04 -06:00
Jörg Thalheim a4170403e6
Merge pull request #33897 from rnhmjoj/digits
Avoid package attributes starting with a digit
2018-02-02 19:30:23 +00:00
WilliButz c2fa5f1729
nixos/xautolock: fix default defaults/examples, add assertions
see issue #34371
2018-01-31 21:43:23 +01:00
Vladimír Čunát 5402412b97
Merge #33600: xfce: cleanup, hyphenate attributes 2018-01-21 09:52:58 +01:00
rnhmjoj c946c101d6
avoid package attributes starting with a digit 2018-01-16 21:13:16 +01:00
Eelco Dolstra dddcd10ecc
Don't set 'config.xorg = {}'
This makes memoization of Nixpkgs evaluation less effective, since
some Nixpkgs invocations may have 'config = {}' while others may have
'config = { xorg = {}; }'.

Instead set 'config = {}'.
2018-01-11 19:31:05 +01:00
José Romildo Malaquias 8b416450ea mate: let caja find extensions and gsettings schemas 2018-01-09 02:40:04 +02:00
José Romildo Malaquias 598c6c13f0 mate-panel: let mate-panel find applets in config system path 2018-01-09 02:40:04 +02:00
José Romildo Malaquias ca27392d9c mate-control-center: add gsettings schemas path to XDG vars
mate-control-center depends on mate-settings-daemon, but the later needs
gsettings schemas  provided by the former. To fix this the gsettings schema
path from mate-control-center is added to XDG_DATA_DIRS at session
startup.
2018-01-09 02:40:04 +02:00
José Romildo Malaquias 1bacb88c6a mate-session-manager: add debug option to mate service 2018-01-09 02:40:04 +02:00
Yegor Timoshenko f7a9f96725
nixos/xfce: clean up, use hyphenated attributes 2018-01-08 05:12:05 +00:00
José Romildo Malaquias d0eb40b311 lightdm-gtk-greater: add configuration options for clock format and indicators 2018-01-06 02:20:53 +00:00
Uli Schlachter 5465d6f7de awesome: Use --search instead of $LUA_PATH/$LUA_CPATH
Instead of polluting the environment with environment variables which
are inherited by processes spawned from awesome, use the command line
argument "--search" to add things to the search path.

cc #33169
2018-01-02 17:24:56 +00:00
Yegor Timoshenko 0dd6bd214d
xfce: resolve conflict with KDE
This resolves some aspects of #33231, but GDK_PIXBUF_MODULE_FILE doesn't really belong to any DE module.
2017-12-31 05:22:15 +00:00
Yegor Timoshenko c31ac41810
libinput: disableWhileTyping = false by default 2017-12-30 22:02:16 +00:00
adisbladis 563078184e
services.xserver.desktopManager.plasma5: add qtvirtualkeyboard to systemPackages 2017-12-28 21:13:46 +08:00
Peter Hoeg 7798051817
Merge pull request #32927 from peterhoeg/u/kdeapp
kde-applications: 17.08.3 -> 17.12.0
2017-12-28 08:22:27 +08:00
José Romildo Malaquias 6e0387a1e6 mate: fix XDG_MENU_PREFIX 2017-12-25 07:15:07 +01:00
José Romildo Malaquias 248e3983b0 gnome3: fix XDG_MENU_PREFIX 2017-12-25 07:15:07 +01:00
José Romildo Malaquias 1e147fee02 enlightenment: fix XDG_MENU_PREFIX 2017-12-25 07:15:07 +01:00
gnidorah 22596e8995 breeze-qt4: drop 2017-12-24 12:54:04 +03:00
Yegor Timoshenko 71a8dbb956 nixos/desktop-managers: do not leak feh to PATH
(originally from f9415cb621)

feh is used to set background image for desktop managers that do not
support it directly, however there is no need to include it in PATH.

Fixes #17450.
2017-12-21 01:43:38 +00:00
Wei Tang 62a974bbbf xfce: delay package selection for pulseaudio volume to nixos modules (#23382)
Now there are separate `xfce4.xfce4mixer_pulse` and `xfce4.xfcevolumed_pulse` attributes for PulseAudio versions of these packages, instead of relying on Nixpkgs option. Mind that xfce4-volumed and xfce4-volumed-pulse are actually two separate programs without much overlap.
2017-12-19 22:28:12 +03:00
Yegor Timoshenko 209cbf9fc7 xfce: SVG icon support in xfce4-panel, fixes #18536
Thanks to Yuriy Pitomets, Jonathan Curran, and David Kleuker.
2017-12-18 01:11:20 +00:00
Michael Peyton Jones 638d24950d plymouth: add breeze-plymouth as default theme 2017-12-11 20:42:00 +00:00
Jan Tojnar 1d868aa8de
nixos/xserver: Move the keyboard configuration to 00-keyboard.conf
localectl looks for keyboard settings in /X11/xorg.conf.d/00-keyboard.conf

Closes: #29959, #14318
2017-11-30 14:10:34 +01:00
Vladimír Čunát 5f020d5627
Merge branch 'staging'
There are security fixes in multiple packages /cc #32117,
so I'm merging a little earlier, with a few thousand jobs
still not finished on Hydra for x86_64-darwin and aarch64-linux.
2017-11-29 10:02:40 +01:00