nixos-lib/desktop/gnome.nix

73 lines
1.8 KiB
Nix

{
config,
pkgs,
lib,
...
}:
with lib;
let
cfg = config.aviallon.desktop;
in
{
config = mkIf (cfg.enable && (cfg.environment == "gnome")) {
services.xserver.desktopManager.gnome = {
enable = true;
};
services.xserver.displayManager.gdm = {
enable = true;
};
services.gnome = {
sushi.enable = true;
tracker.enable = true;
tracker-miners.enable = true;
core-shell.enable = true;
gnome-keyring.enable = true;
glib-networking.enable = true;
gnome-user-share.enable = true;
core-os-services.enable = true;
gnome-remote-desktop.enable = true;
gnome-online-miners.enable = true;
gnome-initial-setup.enable = true;
gnome-settings-daemon.enable = true;
gnome-online-accounts.enable = true;
gnome-browser-connector.enable = true;
};
qt5.platformTheme = "gnome"; # Force Gnome theme for better UX
xdg.portal = {
enable = mkDefault true;
};
programs.chromium.extensions = [
"gphhapmejobijbbhgpjhcjognlahblep" # Gnome Shell integration
];
programs.firefox.enable = true;
programs.firefox.nativeMessagingHosts.packages = [ pkgs.gnomeExtensions.bowser-gnome-extension ];
aviallon.programs.libreoffice.enable = true;
environment.systemPackages =
with pkgs;
[ guake ]
++ (with gnome; [
gnome-software
])
++ (with gnomeExtensions; [
gamemode
dash-to-dock
dash-to-dock-toggle
dash-to-dock-animator
tray-icons-reloaded
]);
systemd.packages = with pkgs; [
gnomeExtensions.gamemode
gnomeExtensions.dash-to-dock
gnomeExtensions.dash-to-dock-animator
gnomeExtensions.dash-to-dock-toggle
gnomeExtensions.tray-icons-reloaded
];
};
}