nixos/gnome3: split out gnome-flashback

This commit is contained in:
worldofpeace 2019-08-26 05:36:11 -04:00
parent fca8d35531
commit 70e506cf7c

View File

@ -133,20 +133,12 @@ in
}; };
config = mkMerge [ config = mkMerge [
(mkIf cfg.enable { (mkIf (cfg.enable || flashbackEnabled) {
services.gnome3.core-os-services.enable = true; services.gnome3.core-os-services.enable = true;
services.gnome3.core-shell.enable = true; services.gnome3.core-shell.enable = true;
services.gnome3.core-utilities.enable = mkDefault true; services.gnome3.core-utilities.enable = mkDefault true;
services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ] services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
++ map
(wm: pkgs.gnome3.gnome-flashback.mkSessionForWm {
inherit (wm) wmName wmLabel wmCommand;
}) (optional cfg.flashback.enableMetacity {
wmName = "metacity";
wmLabel = "Metacity";
wmCommand = "${pkgs.gnome3.metacity}/bin/metacity";
} ++ cfg.flashback.customSessions);
environment.extraInit = '' environment.extraInit = ''
${concatMapStrings (p: '' ${concatMapStrings (p: ''
@ -172,6 +164,25 @@ in
nixpkgs.config.vim.gui = "gtk3"; nixpkgs.config.vim.gui = "gtk3";
}) })
(mkIf flashbackEnabled {
services.xserver.displayManager.extraSessionFilePackages = map
(wm: pkgs.gnome3.gnome-flashback.mkSessionForWm {
inherit (wm) wmName wmLabel wmCommand;
}) (optional cfg.flashback.enableMetacity {
wmName = "metacity";
wmLabel = "Metacity";
wmCommand = "${pkgs.gnome3.metacity}/bin/metacity";
} ++ cfg.flashback.customSessions);
security.pam.services.gnome-screensaver = {
enableGnomeKeyring = true;
};
services.dbus.packages = [
pkgs.gnome3.gnome-screensaver
];
})
(mkIf serviceCfg.core-os-services.enable { (mkIf serviceCfg.core-os-services.enable {
hardware.bluetooth.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true; hardware.pulseaudio.enable = mkDefault true;
@ -225,8 +236,7 @@ in
services.telepathy.enable = mkDefault true; services.telepathy.enable = mkDefault true;
systemd.packages = [ pkgs.gnome3.vino ]; systemd.packages = [ pkgs.gnome3.vino ];
services.dbus.packages = services.dbus.packages =
optional config.services.printing.enable pkgs.system-config-printer ++ optional config.services.printing.enable pkgs.system-config-printer;
optional flashbackEnabled pkgs.gnome3.gnome-screensaver;
services.geoclue2.enable = mkDefault true; services.geoclue2.enable = mkDefault true;
services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent
@ -269,10 +279,6 @@ in
pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
vino vino
]; ];
security.pam.services.gnome-screensaver = mkIf flashbackEnabled {
enableGnomeKeyring = true;
};
}) })
(mkIf serviceCfg.core-utilities.enable { (mkIf serviceCfg.core-utilities.enable {