summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/x11
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2020-11-28 17:09:12 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2020-11-28 17:09:12 +0000
commitc6617d28ef3762bbd5cb11dd3c56afb778ff42cc (patch)
tree18fbdfb4783a2e0c5625cdb51606058ca50e2ca8 /nixos/modules/services/x11
parent29cdd8ae609d107889469610176aa53676382eb1 (diff)
parent05d95cfe79a69cf690cec5d356b37e29d7d13d18 (diff)
Merge remote-tracking branch 'upstream/master' into aj-rust-custom-target
Diffstat (limited to 'nixos/modules/services/x11')
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix33
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix8
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix16
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix1
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix4
-rw-r--r--nixos/modules/services/x11/xserver.nix11
8 files changed, 49 insertions, 27 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index acccbdb9950a..9dfac56c7fea 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -17,6 +17,11 @@ let
'';
};
+ defaultFavoriteAppsOverride = ''
+ [org.gnome.shell]
+ favorite-apps=[ 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
+ '';
+
nixos-gsettings-desktop-schemas = let
defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome3.gnome-shell ];
in
@@ -42,8 +47,7 @@ let
[org.gnome.desktop.screensaver]
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}'
- [org.gnome.shell]
- favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
+ ${cfg.favoriteAppsOverride}
${cfg.extraGSettingsOverrides}
EOF
@@ -123,6 +127,17 @@ in
apply = list: list ++ [ pkgs.gnome3.gnome-shell pkgs.gnome3.gnome-shell-extensions ];
};
+ favoriteAppsOverride = mkOption {
+ internal = true; # this is messy
+ default = defaultFavoriteAppsOverride;
+ type = types.lines;
+ example = literalExample ''
+ [org.gnome.shell]
+ favorite-apps=[ 'firefox.desktop', 'org.gnome.Calendar.desktop' ]
+ '';
+ description = "List of desktop files to put as favorite apps into gnome-shell. These need to be installed somehow globally.";
+ };
+
extraGSettingsOverrides = mkOption {
default = "";
type = types.lines;
@@ -179,6 +194,14 @@ in
config = mkMerge [
(mkIf (cfg.enable || flashbackEnabled) {
+ # Seed our configuration into nixos-generate-config
+ system.nixos-generate-config.desktopConfiguration = ''
+ # Enable the GNOME 3 Desktop Environment.
+ services.xserver.enable = true;
+ services.xserver.displayManager.gdm.enable = true;
+ services.xserver.desktopManager.gnome3.enable = true;
+ '';
+
services.gnome3.core-os-services.enable = true;
services.gnome3.core-shell.enable = true;
services.gnome3.core-utilities.enable = mkDefault true;
@@ -207,6 +230,11 @@ in
# If gnome3 is installed, build vim for gtk3 too.
nixpkgs.config.vim.gui = "gtk3";
+
+ # Install gnome-software if flatpak is enabled
+ services.flatpak.guiPackages = [
+ pkgs.gnome3.gnome-software
+ ];
})
(mkIf flashbackEnabled {
@@ -389,7 +417,6 @@ in
gnome-music
gnome-photos
gnome-screenshot
- gnome-software
gnome-system-monitor
gnome-weather
nautilus
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index e67e216f90d9..cf02a71248b1 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -180,7 +180,6 @@ in
gtk3.out
hicolor-icon-theme
lightlocker
- nixos-artwork.wallpapers.simple-dark-gray
onboard
qgnomeplatform
shared-mime-info
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index e48b5f23b58f..ad0385ddeed2 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -184,6 +184,14 @@ in
config = mkMerge [
(mkIf cfg.enable {
+ # Seed our configuration into nixos-generate-config
+ system.nixos-generate-config.desktopConfiguration = ''
+ # Enable the Plasma 5 Desktop Environment.
+ services.xserver.enable = true;
+ services.xserver.displayManager.sddm.enable = true;
+ services.xserver.desktopManager.plasma5.enable = true;
+ '';
+
services.xserver.desktopManager.session = singleton {
name = "plasma5";
bgSupport = true;
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 8ac7a9e66c6c..6945a241f92f 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -37,13 +37,6 @@ let
. /etc/profile
cd "$HOME"
- ${optionalString cfg.startDbusSession ''
- if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
- /run/current-system/systemd/bin/systemctl --user start dbus.socket
- export `/run/current-system/systemd/bin/systemctl --user show-environment | grep '^DBUS_SESSION_BUS_ADDRESS'`
- fi
- ''}
-
${optionalString cfg.displayManager.job.logToJournal ''
if [ -z "$_DID_SYSTEMD_CAT" ]; then
export _DID_SYSTEMD_CAT=1
@@ -482,11 +475,10 @@ in
[dms wms]
);
- # Make xsessions and wayland sessions installed at
- # /run/current-system/sw/share as some programs
- # have behavior that depends on them being installed
- environment.systemPackages = [
- cfg.displayManager.sessionData.desktops
+ # Make xsessions and wayland sessions available in XDG_DATA_DIRS
+ # as some programs have behavior that depends on them being present
+ environment.sessionVariables.XDG_DATA_DIRS = [
+ "${cfg.displayManager.sessionData.desktops}/share"
];
};
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index eae70a57c781..25b424e485f3 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -264,7 +264,7 @@ in
# presented and there's a little delay.
environment.etc."gdm/custom.conf".text = ''
[daemon]
- WaylandEnable=${if cfg.gdm.wayland then "true" else "false"}
+ WaylandEnable=${boolToString cfg.gdm.wayland}
${optionalString cfg.autoLogin.enable (
if cfg.gdm.autoLogin.delay > 0 then ''
TimedLoginEnable=true
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 143785db0b4f..2dafee9e36e3 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -308,6 +308,7 @@ in
home = "/var/lib/lightdm";
group = "lightdm";
uid = config.ids.uids.lightdm;
+ shell = pkgs.bash;
};
systemd.tmpfiles.rules = [
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index e63bb2e44539..4040b903426b 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -55,10 +55,10 @@ let
XauthPath=${pkgs.xorg.xauth}/bin/xauth
DisplayCommand=${Xsetup}
DisplayStopCommand=${Xstop}
- EnableHidpi=${if cfg.enableHidpi then "true" else "false"}
+ EnableHidpi=${boolToString cfg.enableHidpi}
[Wayland]
- EnableHidpi=${if cfg.enableHidpi then "true" else "false"}
+ EnableHidpi=${boolToString cfg.enableHidpi}
SessionDir=${dmcfg.sessionData.desktops}/share/wayland-sessions
${optionalString dmcfg.autoLogin.enable ''
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 1bbcd4ca2ab4..55d3e742ef7c 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -152,6 +152,9 @@ in
./desktop-managers/default.nix
(mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ]
"See the 16.09 release notes for more information.")
+ (mkRemovedOptionModule
+ [ "services" "xserver" "startDbusSession" ]
+ "The user D-Bus session is now always socket activated and this option can safely be removed.")
(mkRemovedOptionModule ["services" "xserver" "useXFS" ]
"Use services.xserver.fontPath instead of useXFS")
];
@@ -299,14 +302,6 @@ in
description = "DPI resolution to use for X server.";
};
- startDbusSession = mkOption {
- type = types.bool;
- default = true;
- description = ''
- Whether to start a new DBus session when you log in with dbus-launch.
- '';
- };
-
updateDbusEnvironment = mkOption {
type = types.bool;
default = false;