{ config, lib, pkgs, ... }: with lib; with lib.my; let cfg = config.modules.desktop.gnome; in { options.modules.desktop.gnome = { enable = mkBoolOpt false; }; config = mkIf cfg.enable { services.xserver = { enable = true; displayManager.gdm.enable = true; desktopManager.gnome.enable = true; }; programs.dconf.enable = true; dconf.settings = { "org/gnome/shell" = { favorite-apps = [ "firefox.desktop" "org.gnome.Nautilus.desktop" "org.gnome.Console.desktop" ]; }; "org/gnome/desktop/background" = { picture-uri = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/adwaita-l.webp"; picture-uri-dark = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/adwaita-d.webp"; }; }; fonts.fonts = with pkgs; [ noto-fonts ubuntu_font_family ]; user.packages = with pkgs; [ celluloid ]; environment.systemPackages = with pkgs; [ bind bmon fd ffmpeg iotop ripgrep rsync tcpdump tokei tree wl-clipboard ]; }; }