restructure user management

This commit is contained in:
Vinzenz Schroeter 2023-09-24 12:39:28 +02:00
parent 3a9a7242fc
commit ddb7df4a4e
16 changed files with 482 additions and 481 deletions

View file

@ -4,60 +4,63 @@
lib,
...
}: let
desktopCfg = config.my.desktop;
isEnabled = desktopCfg.enableGnome;
applyGnomeUserSettings = {
home.packages = with pkgs; [
gnome.gpaste
amberol
];
dconf.settings = {
"org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true;
};
};
};
isEnabled = config.my.desktop.enableGnome;
enableHomeManager = config.my.modulesCfg.enableHomeManager;
in {
options.my.desktop.enableGnome = lib.mkEnableOption "gnome desktop";
config = lib.mkIf isEnabled {
my.desktop.enable = true;
config = lib.mkMerge [
(lib.mkIf isEnabled {
my.desktop.enable = true;
services = {
xserver = {
# Enable the GNOME Desktop Environment.
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
services = {
xserver = {
# Enable the GNOME Desktop Environment.
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
gnome = {
tracker-miners.enable = false;
tracker.enable = false;
};
};
gnome = {
tracker-miners.enable = false;
tracker.enable = false;
programs.gpaste.enable = true;
environment = {
systemPackages = with pkgs; [
gnomeExtensions.gsconnect
];
# remove some gnome default apps
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
];
};
};
environment.systemPackages = with pkgs; [
gnomeExtensions.gsconnect
];
# 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 = {
vinzenz = lib.mkIf desktopCfg.vinzenz.enable applyGnomeUserSettings;
ronja = lib.mkIf desktopCfg.ronja.enable applyGnomeUserSettings;
};
};
})
(lib.mkIf (isEnabled && enableHomeManager) {
home-manager.sharedModules = [
{
home.packages = with pkgs; [
amberol
];
dconf.settings = {
"org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true;
};
};
}
];
})
];
}