nixos-configuration/modules/desktop/gnome.nix

64 lines
1.4 KiB
Nix
Raw Normal View History

2023-09-09 13:36:21 +02:00
{
config,
pkgs,
lib,
...
2023-09-09 14:57:55 +02:00
}: let
2023-09-11 19:16:26 +02:00
desktopCfg = config.my.desktop;
isEnabled = desktopCfg.enableGnome;
2023-09-11 19:16:26 +02:00
applyGnomeUserSettings = {
home.packages = with pkgs; [
gnome.gpaste
amberol
];
dconf.settings = {
"org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true;
};
};
};
2023-09-09 13:36:21 +02:00
in {
options.my.desktop.enableGnome = lib.mkEnableOption "gnome desktop";
config = lib.mkIf isEnabled {
2023-09-09 15:44:15 +02:00
my.desktop.enable = true;
2023-09-09 13:36:21 +02:00
services = {
xserver = {
# Enable the GNOME Desktop Environment.
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
gnome = {
tracker-miners.enable = false;
tracker.enable = false;
};
};
environment.systemPackages = with pkgs; [
gnomeExtensions.gsconnect
];
2023-09-09 13:36:21 +02:00
# remove some gnome default apps
environment.gnome.excludePackages = with pkgs.gnome; [
cheese # photo booth
epiphany # web browser
evince # document viewer
geary # email client
seahorse # password manager
gnome-clocks
gnome-maps
gnome-weather
gnome-music
pkgs.gnome-connections
];
home-manager.users = {
2023-09-11 19:16:26 +02:00
vinzenz = lib.mkIf desktopCfg.vinzenz.enable applyGnomeUserSettings;
ronja = lib.mkIf desktopCfg.ronja.enable applyGnomeUserSettings;
2023-09-09 13:36:21 +02:00
};
};
}