modules.gui.gnome: fix build

This commit is contained in:
2024-01-31 15:29:49 +00:00
parent f5c88853ee
commit 91eae95b32
4 changed files with 35 additions and 7 deletions

View File

@@ -1,18 +1,17 @@
{ lib, config, ... }: { lib, config, pkgs, ... }:
with lib;
let let
cfg = config.sane.gui.gnome; cfg = config.sane.gui.gnome;
in in
{ {
options = { options = with lib; {
sane.gui.gnome.enable = mkOption { sane.gui.gnome.enable = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
}; };
}; };
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
sane.programs.guiApps.enableFor.user.colin = true; sane.programs.guiApps.enableFor.user.colin = true;
# start gnome/gdm on boot # start gnome/gdm on boot
@@ -23,6 +22,27 @@ in
# gnome does networking stuff with networkmanager # gnome does networking stuff with networkmanager
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.wireless.enable = lib.mkForce false; networking.wireless.enable = lib.mkForce false;
# services.xserver.desktopManager.gnome.enable enables some default apps we don't really care about.
# see <nixos/modules/services/x11/desktop-managers/gnome.nix>
environment.gnome.excludePackages = with pkgs; [
# gnome.gnome-menus # unused outside gnome classic, but probably harmless
gnome.gnome-control-center #< if you want a faster deploy
gnome-tour
];
# disable these for a faster build cycle
services.dleyna-renderer.enable = false;
services.dleyna-server.enable = false;
services.gnome.gnome-browser-connector.enable = false;
services.gnome.gnome-initial-setup.enable = false;
services.gnome.gnome-remote-desktop.enable = false;
services.gnome.gnome-user-share.enable = false;
services.gnome.rygel.enable = false;
services.gnome.evolution-data-server.enable = lib.mkForce false;
services.gnome.gnome-online-accounts.enable = lib.mkForce false;
services.gnome.gnome-online-miners.enable = lib.mkForce false;
}; };
# user extras: # user extras:
# obtain these by running `dconf dump /` after manually customizing gnome # obtain these by running `dconf dump /` after manually customizing gnome

View File

@@ -14,6 +14,14 @@
# OAuth depends on webkitgtk_4_1: old, forces an annoying recompilation # OAuth depends on webkitgtk_4_1: old, forces an annoying recompilation
enableOAuth2 = false; enableOAuth2 = false;
}; };
gnome-control-center = gsuper.gnome-control-center.override {
# i build goa without the "backend", to avoid webkit_4_1.
# however gnome-control-center *directly* uses goa-backend because it manages the accounts...
# so if you really need gnome-control center, then here we are, re-enabling the goa backend.
gnome-online-accounts = self.gnome-online-accounts.override {
enableBackend = true;
};
};
# gnome-shell = gsuper.gnome-shell.override { # gnome-shell = gsuper.gnome-shell.override {
# evolution-data-server-gtk4 = evolution-data-server-gtk4.override { # evolution-data-server-gtk4 = evolution-data-server-gtk4.override {
# # avoid webkitgtk_6_0 build. lol. # # avoid webkitgtk_6_0 build. lol.

View File

@@ -113,7 +113,7 @@ let
firefox-unwrapped = callPackage ./patched/firefox-unwrapped { inherit (unpatched) firefox-unwrapped; }; firefox-unwrapped = callPackage ./patched/firefox-unwrapped { inherit (unpatched) firefox-unwrapped; };
gnome = unpatched.gnome.overrideScope' (gself: gsuper: { gnome = unpatched.gnome.overrideScope' (gself: gsuper: {
gnome-control-center = gself.callPackage ./patched/gnome-control-center { gnome-control-center = import ./patched/gnome-control-center {
inherit (gsuper) gnome-control-center; inherit (gsuper) gnome-control-center;
}; };
}); });

View File

@@ -1,6 +1,6 @@
{ gnome-control-center }: { gnome-control-center }:
(gnome-control-center.overrideAttrs (upstream: { gnome-control-center.overrideAttrs (upstream: {
# gnome-control-center does not start without XDG_CURRENT_DESKTOP=gnome # gnome-control-center does not start without XDG_CURRENT_DESKTOP=gnome
# see: <https://github.com/NixOS/nixpkgs/issues/230493> # see: <https://github.com/NixOS/nixpkgs/issues/230493>
# see: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/736> # see: <https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/736>
@@ -12,4 +12,4 @@
--set XDG_CURRENT_DESKTOP "gnome" --set XDG_CURRENT_DESKTOP "gnome"
); );
'' + upstream.preFixup; '' + upstream.preFixup;
})) })