refactor: import nixosModules unconditionally, add enable options

This commit is contained in:
müde 2026-05-01 22:39:21 +02:00
parent c2d4ce78de
commit 850d673035
38 changed files with 959 additions and 761 deletions

View file

@ -1,62 +1,65 @@
{
pkgs,
lib,
config,
pkgs,
...
}:
{
options.muede = {
keep-gnome-default-apps = lib.mkEnableOption "keep gnome default apps";
options = {
my.gnome.enable = lib.mkEnableOption "GNOME desktop environment";
muede.keep-gnome-default-apps = lib.mkEnableOption "keep gnome default apps";
};
config = lib.mkMerge [
{
services = {
xserver.excludePackages = [ pkgs.xterm ];
config = lib.mkIf config.my.gnome.enable (
lib.mkMerge [
{
services = {
xserver.excludePackages = [ pkgs.xterm ];
# Enable the GNOME Desktop Environment.
displayManager.gdm.enable = true;
desktopManager.gnome = {
enable = true;
extraGSettingsOverridePackages = [ pkgs.mutter ];
extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
'';
# Enable the GNOME Desktop Environment.
displayManager.gdm.enable = true;
desktopManager.gnome = {
enable = true;
extraGSettingsOverridePackages = [ pkgs.mutter ];
extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
'';
};
gnome = {
tinysparql.enable = false;
localsearch.enable = false;
sushi.enable = true;
};
};
gnome = {
tinysparql.enable = false;
localsearch.enable = false;
sushi.enable = true;
programs = {
dconf.enable = true;
gpaste.enable = true;
};
};
programs = {
dconf.enable = true;
gpaste.enable = true;
};
}
(lib.mkIf (!config.muede.keep-gnome-default-apps) {
environment.gnome.excludePackages = with pkgs; [
cheese # photo booth
epiphany # web browser
evince # document viewer
geary # email client
gnome-maps
gnome-weather
gnome-tour
sysprof
orca # screen reader
gnome-weather
gnome-backgrounds
gnome-user-docs
yelp # help app
gnome-music
totem # video player
snapshot # camera
baobab # disk usage
];
})
];
}
(lib.mkIf (!config.muede.keep-gnome-default-apps) {
environment.gnome.excludePackages = with pkgs; [
cheese # photo booth
epiphany # web browser
evince # document viewer
geary # email client
gnome-maps
gnome-weather
gnome-tour
sysprof
orca # screen reader
gnome-weather
gnome-backgrounds
gnome-user-docs
yelp # help app
gnome-music
totem # video player
snapshot # camera
baobab # disk usage
];
})
]
);
}