nix-config/homeManagerModules/desktop/gnome.nix

132 lines
3.3 KiB
Nix

{
lib,
config,
pkgs,
...
}:
let
cfg = config.krop.hm.desktop.gnome;
in
{
options.krop.hm.desktop.gnome = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Enable my gnome configuration";
};
};
config = lib.mkIf cfg.enable {
home.pointerCursor = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
gtk.enable = true;
x11.enable = true;
size = 24;
};
home.packages = with pkgs; [
gnomeExtensions.grand-theft-focus
gnomeExtensions.vitals
gnomeExtensions.appindicator
];
dconf = {
settings = {
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = with pkgs.gnomeExtensions; [
grand-theft-focus.extensionUuid
vitals.extensionUuid
appindicator.extensionUuid
];
favorite-apps = [
"firefox.desktop"
"Alacritty.desktop"
"thunderbird.desktop"
"org.gnome.Nautilus.desktop"
];
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
accent-color = "red";
show-battery-percentage = true;
gtk-enable-primary-paste = false;
};
"org/gnome/mutter" = {
dynamic-workspaces = true;
edge-tiling = true;
workspaces-only-on-primary = true;
};
"org/gnome/desktop/peripherals/touchpad" = {
natural-scroll = false;
click-method = "areas";
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,maximize,close";
resize-with-right-button = true;
};
"org/gnome/desktop/sound" = {
event-sounds = false;
};
"org/gnome/desktop/search-providers" = {
disabled = [
"org.gnome.Contacts.desktop"
"org.gnome.Calculator.desktop"
"org.gnome.Calendar.desktop"
"org.gnome.Characters.desktop"
"org.gnome.clocks.desktop"
"org.gnome.Software.desktop"
];
};
"org/gnome/shell/extensions/vitals" = {
position-in-panel = 0;
show-battery = true;
icon-style = 1;
hot-sensors = [
"__temperature_max__"
"_memory_available_"
"_storage_free_"
];
};
"org/gnome/desktop/background" =
let
bgPath = "file://${./assets/nyan_cat.jpg}";
in
{
picture-options = "zoom";
picture-uri = bgPath;
picture-uri-dark = bgPath;
};
};
};
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
qt = {
enable = true;
platformTheme.name = "Adwaita-dark";
style = {
name = "Adwaita-dark";
package = pkgs.adwaita-qt;
};
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
configPackages = with pkgs; [ xdg-desktop-portal-gtk ];
};
};
}