Files
nix-config/modules/nixos/desktop/gnome/default.nix
mjallen18 70002a19e2 hmm
2026-04-07 18:39:42 -05:00

65 lines
1.7 KiB
Nix
Executable File

{
config,
lib,
pkgs,
namespace,
...
}:
let
inherit (lib.${namespace}) enabled disabled mkBoolOpt;
cfg = config.${namespace}.desktop.gnome;
in
{
options.${namespace}.desktop.gnome = {
enable = lib.mkEnableOption "GNOME desktop environment";
vscodium.enable = mkBoolOpt false "Set VSCodium as the default EDITOR/VISUAL";
};
config = lib.mkIf cfg.enable {
services = {
desktopManager.gnome = enabled;
displayManager.gdm = {
enable = lib.mkDefault true;
wayland = lib.mkDefault true;
};
gnome = lib.mkOverride 90 {
at-spi2-core = disabled;
core-apps = enabled;
core-developer-tools = disabled;
core-os-services = enabled;
core-shell = enabled;
evolution-data-server = enabled;
games = disabled;
gcr-ssh-agent = enabled;
glib-networking = enabled;
gnome-browser-connector = enabled;
gnome-initial-setup = disabled;
gnome-keyring = enabled;
gnome-online-accounts = enabled;
gnome-remote-desktop = enabled;
gnome-settings-daemon = enabled;
gnome-software = disabled;
gnome-user-share = enabled;
localsearch = enabled;
rygel = enabled;
sushi = enabled;
tinysparql = enabled;
};
};
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
programs.kdeconnect = {
enable = false;
package = pkgs.gnomeExtensions.gsconnect;
};
environment.variables = lib.mkIf cfg.vscodium.enable {
EDITOR = "${lib.getExe' pkgs.vscodium "codium"} --wait";
VISUAL = "${lib.getExe' pkgs.vscodium "codium"} --wait";
};
};
}