Merge pull request #70041 from worldofpeace/desktopmanager-compat
Fix certain desktop managers building together
This commit is contained in:
commit
5edb20533d
|
@ -12,6 +12,12 @@ in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(mkRemovedOptionModule
|
||||||
|
["services" "gnome3" "gnome-settings-daemon" "package"]
|
||||||
|
"")
|
||||||
|
];
|
||||||
|
|
||||||
###### interface
|
###### interface
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
@ -20,13 +26,6 @@ in
|
||||||
|
|
||||||
enable = mkEnableOption "GNOME Settings Daemon";
|
enable = mkEnableOption "GNOME Settings Daemon";
|
||||||
|
|
||||||
# There are many forks of gnome-settings-daemon
|
|
||||||
package = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
default = pkgs.gnome3.gnome-settings-daemon;
|
|
||||||
description = "Which gnome-settings-daemon package to use.";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -36,9 +35,13 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
environment.systemPackages = [
|
||||||
|
pkgs.gnome3.gnome-settings-daemon
|
||||||
|
];
|
||||||
|
|
||||||
services.udev.packages = [ cfg.package ];
|
services.udev.packages = [
|
||||||
|
pkgs.gnome3.gnome-settings-daemon
|
||||||
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,18 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.networking.networkmanager;
|
cfg = config.networking.networkmanager;
|
||||||
|
|
||||||
|
basePackages = with pkgs; [
|
||||||
|
crda
|
||||||
|
modemmanager
|
||||||
|
networkmanager
|
||||||
|
networkmanager-fortisslvpn
|
||||||
|
networkmanager-iodine
|
||||||
|
networkmanager-l2tp
|
||||||
|
networkmanager-openconnect
|
||||||
|
networkmanager-openvpn
|
||||||
|
networkmanager-vpnc
|
||||||
|
] ++ optional (!delegateWireless) wpa_supplicant;
|
||||||
|
|
||||||
dynamicHostsEnabled =
|
dynamicHostsEnabled =
|
||||||
cfg.dynamicHosts.enable && cfg.dynamicHosts.hostsDirs != {};
|
cfg.dynamicHosts.enable && cfg.dynamicHosts.hostsDirs != {};
|
||||||
|
|
||||||
|
@ -176,25 +188,13 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# Ugly hack for using the correct gnome3 packageSet
|
|
||||||
basePackages = mkOption {
|
|
||||||
type = types.attrsOf types.package;
|
|
||||||
default = { inherit (pkgs)
|
|
||||||
networkmanager modemmanager crda
|
|
||||||
networkmanager-openvpn networkmanager-vpnc
|
|
||||||
networkmanager-openconnect networkmanager-fortisslvpn
|
|
||||||
networkmanager-l2tp networkmanager-iodine; }
|
|
||||||
// optionalAttrs (!delegateWireless) { inherit (pkgs) wpa_supplicant; };
|
|
||||||
internal = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
packages = mkOption {
|
packages = mkOption {
|
||||||
type = types.listOf types.path;
|
type = types.listOf types.package;
|
||||||
default = [ ];
|
default = [ ];
|
||||||
description = ''
|
description = ''
|
||||||
Extra packages that provide NetworkManager plugins.
|
Extra packages that provide NetworkManager plugins.
|
||||||
'';
|
'';
|
||||||
apply = list: (attrValues cfg.basePackages) ++ list;
|
apply = list: basePackages ++ list;
|
||||||
};
|
};
|
||||||
|
|
||||||
dhcp = mkOption {
|
dhcp = mkOption {
|
||||||
|
@ -395,7 +395,7 @@ in {
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.etc = with cfg.basePackages; [
|
environment.etc = with pkgs; [
|
||||||
{ source = configFile;
|
{ source = configFile;
|
||||||
target = "NetworkManager/NetworkManager.conf";
|
target = "NetworkManager/NetworkManager.conf";
|
||||||
}
|
}
|
||||||
|
|
|
@ -209,14 +209,6 @@ in
|
||||||
|
|
||||||
networking.networkmanager.enable = mkDefault true;
|
networking.networkmanager.enable = mkDefault true;
|
||||||
|
|
||||||
# Use the correct gnome3 packageSet
|
|
||||||
networking.networkmanager.basePackages = {
|
|
||||||
inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
|
|
||||||
inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
|
|
||||||
networkmanager-openconnect networkmanager-fortisslvpn
|
|
||||||
networkmanager-iodine networkmanager-l2tp;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.updateDbusEnvironment = true;
|
services.xserver.updateDbusEnvironment = true;
|
||||||
|
|
||||||
# Needed for themes and backgrounds
|
# Needed for themes and backgrounds
|
||||||
|
|
|
@ -85,6 +85,7 @@ in
|
||||||
pkgs.gtk3.out
|
pkgs.gtk3.out
|
||||||
pkgs.shared-mime-info
|
pkgs.shared-mime-info
|
||||||
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
|
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
|
||||||
|
pkgs.mate.mate-settings-daemon
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
@ -98,7 +99,7 @@ in
|
||||||
services.gnome3.at-spi2-core.enable = true;
|
services.gnome3.at-spi2-core.enable = true;
|
||||||
services.gnome3.gnome-keyring.enable = true;
|
services.gnome3.gnome-keyring.enable = true;
|
||||||
services.gnome3.gnome-settings-daemon.enable = true;
|
services.gnome3.gnome-settings-daemon.enable = true;
|
||||||
services.gnome3.gnome-settings-daemon.package = pkgs.mate.mate-settings-daemon;
|
services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
services.upower.enable = config.powerManagement.enable;
|
services.upower.enable = config.powerManagement.enable;
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,7 @@ in
|
||||||
# TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
|
# TODO: gnome-keyring's xdg autostarts will still be in the environment (from elementary-session-settings) if disabled forcefully
|
||||||
services.gnome3.gnome-keyring.enable = true;
|
services.gnome3.gnome-keyring.enable = true;
|
||||||
services.gnome3.gnome-settings-daemon.enable = true;
|
services.gnome3.gnome-settings-daemon.enable = true;
|
||||||
services.gnome3.gnome-settings-daemon.package = pkgs.pantheon.elementary-settings-daemon;
|
services.udev.packages = [ pkgs.pantheon.elementary-settings-daemon ];
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
services.gnome3.rygel.enable = mkDefault true;
|
services.gnome3.rygel.enable = mkDefault true;
|
||||||
services.gsignond.enable = mkDefault true;
|
services.gsignond.enable = mkDefault true;
|
||||||
|
@ -154,11 +154,6 @@ in
|
||||||
qt5.style = "adwaita";
|
qt5.style = "adwaita";
|
||||||
|
|
||||||
networking.networkmanager.enable = mkDefault true;
|
networking.networkmanager.enable = mkDefault true;
|
||||||
networking.networkmanager.basePackages =
|
|
||||||
{ inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
|
|
||||||
inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
|
|
||||||
networkmanager-openconnect networkmanager-fortisslvpn
|
|
||||||
networkmanager-iodine networkmanager-l2tp; };
|
|
||||||
|
|
||||||
# Override GSettings schemas
|
# Override GSettings schemas
|
||||||
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||||
|
|
|
@ -108,14 +108,6 @@ in
|
||||||
"/share/gtksourceview-4.0"
|
"/share/gtksourceview-4.0"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Use the correct gnome3 packageSet
|
|
||||||
networking.networkmanager.basePackages = mkIf config.networking.networkmanager.enable {
|
|
||||||
inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
|
|
||||||
inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
|
|
||||||
networkmanager-openconnect networkmanager-fortisslvpn
|
|
||||||
networkmanager-iodine networkmanager-l2tp;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.desktopManager.session = [{
|
services.xserver.desktopManager.session = [{
|
||||||
name = "xfce4-14";
|
name = "xfce4-14";
|
||||||
bgSupport = true;
|
bgSupport = true;
|
||||||
|
|
Loading…
Reference in New Issue