nixos/pantheon: Move out of X11

The next few commits will make pantheon-wayland the default.

Note that the Pantheon LightDM greeter option is left untouched
right now since it still runs under X11.

Changed files
+20 -13
.github
nixos
doc
manual
release-notes
modules
services
desktop-managers
x11
desktop-managers
tests
pkgs
by-name
ca
calamares-nixos-extensions
src
modules
nixos
+1 -1
.github/labeler.yml
···
- changed-files:
- any-glob-to-any-file:
- nixos/modules/services/desktops/pantheon/**/*
-
- nixos/modules/services/x11/desktop-managers/pantheon.nix
+
- nixos/modules/services/desktop-managers/pantheon.nix
- nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
- nixos/tests/pantheon.nix
- pkgs/desktops/pantheon/**/*
+1 -1
nixos/doc/manual/release-notes/rl-2003.section.md
···
- GNOME 3 has been upgraded to 3.34. Please take a look at their [Release Notes](https://help.gnome.org/misc/release-notes/3.34) for details.
-
- If you enable the Pantheon Desktop Manager via [services.xserver.desktopManager.pantheon.enable](options.html#opt-services.xserver.desktopManager.pantheon.enable), we now default to also use [ Pantheon's newly designed greeter ](https://blog.elementary.io/say-hello-to-the-new-greeter/). Contrary to NixOS's usual update policy, Pantheon will receive updates during the cycle of NixOS 20.03 when backwards compatible.
+
- If you enable the Pantheon Desktop Manager via `services.xserver.desktopManager.pantheon.enable`, we now default to also use [ Pantheon's newly designed greeter ](https://blog.elementary.io/say-hello-to-the-new-greeter/). Contrary to NixOS's usual update policy, Pantheon will receive updates during the cycle of NixOS 20.03 when backwards compatible.
- By default zfs pools will now be trimmed on a weekly basis. Trimming is only done on supported devices (i.e. NVME or SSDs) and should improve throughput and lifetime of these devices. It is controlled by the `services.zfs.trim.enable` varname. The zfs scrub service (`services.zfs.autoScrub.enable`) and the zfs autosnapshot service (`services.zfs.autoSnapshot.enable`) are now only enabled if zfs is set in `config.boot.initrd.supportedFilesystems` or `config.boot.supportedFilesystems`. These lists will automatically contain zfs as soon as any zfs mountpoint is configured in `fileSystems`.
+1 -1
nixos/modules/services/x11/desktop-managers/default.nix
···
./retroarch.nix
./kodi.nix
./mate.nix
-
./pantheon.nix
+
../../desktop-managers/pantheon.nix
./surf-display.nix
./cde.nix
./cinnamon.nix
+3 -3
nixos/modules/services/x11/desktop-managers/pantheon.md nixos/modules/services/desktop-managers/pantheon.md
···
All of Pantheon is working in NixOS and the applications should be available, aside from a few [exceptions](https://github.com/NixOS/nixpkgs/issues/58161). To enable Pantheon, set
```nix
-
{ services.xserver.desktopManager.pantheon.enable = true; }
+
{ services.desktopManager.pantheon.enable = true; }
```
This automatically enables LightDM and Pantheon's LightDM greeter. If you'd like to disable this, set
```nix
···
Wingpanel and Switchboard work differently than they do in other distributions, as far as using plugins. You cannot install a plugin globally (like with {option}`environment.systemPackages`) to start using it. You should instead be using the following options:
-
- [](#opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators)
-
- [](#opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs)
+
- [](#opt-services.desktopManager.pantheon.extraWingpanelIndicators)
+
- [](#opt-services.desktopManager.pantheon.extraSwitchboardPlugs)
to configure the programs with plugs or indicators.
+10 -3
nixos/modules/services/x11/desktop-managers/pantheon.nix nixos/modules/services/desktop-managers/pantheon.nix
···
let
-
cfg = config.services.xserver.desktopManager.pantheon;
+
cfg = config.services.desktopManager.pantheon;
serviceCfg = config.services.pantheon;
nixos-gsettings-desktop-schemas = pkgs.pantheon.elementary-gsettings-schemas.override {
···
maintainers = teams.pantheon.members;
};
+
imports = [
+
(lib.mkRenamedOptionModule
+
[ "services" "xserver" "desktopManager" "pantheon" ]
+
[ "services" "desktopManager" "pantheon" ]
+
)
+
];
+
options = {
services.pantheon = {
···
};
-
services.xserver.desktopManager.pantheon = {
+
services.desktopManager.pantheon = {
enable = mkOption {
type = types.bool;
default = false;
···
config = mkMerge [
(mkIf cfg.enable {
-
services.xserver.desktopManager.pantheon.sessionPath = utils.removePackagesByName [
+
services.desktopManager.pantheon.sessionPath = utils.removePackagesByName [
pkgs.pantheon.pantheon-agent-geoclue2
] config.environment.pantheon.excludePackages;
+1 -1
nixos/release.nix
···
{ ... }:
{
services.xserver.enable = true;
-
services.xserver.desktopManager.pantheon.enable = true;
+
services.desktopManager.pantheon.enable = true;
}
);
+1 -1
nixos/tests/pantheon-wayland.nix
···
virtualisation.memorySize = 2047;
services.xserver.enable = true;
-
services.xserver.desktopManager.pantheon.enable = true;
+
services.desktopManager.pantheon.enable = true;
services.displayManager = {
autoLogin.enable = true;
autoLogin.user = nodes.machine.users.users.alice.name;
+1 -1
nixos/tests/pantheon.nix
···
virtualisation.memorySize = 2047;
services.xserver.enable = true;
-
services.xserver.desktopManager.pantheon.enable = true;
+
services.desktopManager.pantheon.enable = true;
# We ship pantheon.appcenter by default when this is enabled.
services.flatpak.enable = true;
+1 -1
pkgs/by-name/ca/calamares-nixos-extensions/src/modules/nixos/main.py
···
# Enable the Pantheon Desktop Environment.
services.xserver.displayManager.lightdm.enable = true;
-
services.xserver.desktopManager.pantheon.enable = true;
+
services.desktopManager.pantheon.enable = true;
"""