2024-04-07 22:16:33 -04:00
|
|
|
{
|
|
|
|
config,
|
2024-07-23 13:04:10 -04:00
|
|
|
lib,
|
|
|
|
pkgs,
|
2024-04-07 22:16:33 -04:00
|
|
|
...
|
|
|
|
}: {
|
2024-06-26 22:13:02 -04:00
|
|
|
config = lib.mkIf config.ar.home.desktop.gnome.enable {
|
2024-07-23 13:04:10 -04:00
|
|
|
dconf = {
|
|
|
|
enable = true;
|
2024-07-10 23:43:51 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
settings = {
|
|
|
|
"org/gnome/desktop/datetime".automatic-timezone = true;
|
2024-06-22 18:07:46 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
"org/gnome/desktop/interface" = {
|
|
|
|
clock-format = "12h";
|
|
|
|
enable-hot-corners = true;
|
|
|
|
};
|
2024-06-22 18:07:46 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
|
|
|
"org/gnome/desktop/search-providers".enabled = "['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
|
|
|
|
"org/gnome/desktop/wm/preferences".auto-raise = true;
|
2024-06-22 18:07:46 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
"org/gnome/mutter" = {
|
|
|
|
dynamic-workspaces = true;
|
|
|
|
edge-tiling = true;
|
|
|
|
workspaces-only-on-primary = true;
|
|
|
|
};
|
2024-06-22 18:07:46 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
"org/gnome/shell".enabled-extensions = [
|
|
|
|
"appindicatorsupport@rgcjonas.gmail.com"
|
|
|
|
"blur-my-shell@aunetx"
|
|
|
|
"gsconnect@andyholmes.github.io"
|
|
|
|
"nightthemeswitcher@romainvigier.fr"
|
|
|
|
"noannoyance-fork@vrba.dev"
|
|
|
|
"tailscale-status@maxgallup.github.com"
|
|
|
|
"tiling-assistant@leleat-on-github"
|
|
|
|
"drive-menu@gnome-shell-extensions.gcampax.github.com"
|
|
|
|
];
|
2024-06-22 19:53:09 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
"org/gnome/shell/extensions/blur-my-shell/overview".style-components = 3;
|
2024-06-22 18:07:46 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
"org/gnome/shell/extensions/blur-my-shell/panel" = {
|
|
|
|
blur = false;
|
|
|
|
customize = true;
|
|
|
|
override-background = false;
|
|
|
|
override-background-dynamically = false;
|
|
|
|
style-panel = 0;
|
|
|
|
unblur-in-overview = true;
|
|
|
|
};
|
2024-06-22 18:07:46 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
"org/gnome/system/location".enabled = true;
|
2024-06-22 18:07:46 -04:00
|
|
|
};
|
2024-03-28 19:52:15 -04:00
|
|
|
};
|
2024-06-22 19:53:09 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
home.packages = [
|
|
|
|
(pkgs.writeShellScriptBin "gcs-toggle" ''
|
|
|
|
# Get current color scheme
|
|
|
|
color_scheme=$(${lib.getExe' pkgs.glib "gsettings"} get org.gnome.desktop.interface color-scheme)
|
|
|
|
|
|
|
|
# Toggle between light and dark color schemes
|
|
|
|
if [ "$color_scheme" == "'default'" ] || [ "$color_scheme" == "'prefer-light'" ]; then
|
|
|
|
color_scheme="'prefer-dark'"
|
|
|
|
else
|
|
|
|
color_scheme="'prefer-light'"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Apply the updated color scheme
|
|
|
|
${lib.getExe' pkgs.glib "gsettings"} set org.gnome.desktop.interface color-scheme $color_scheme
|
|
|
|
'')
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.gnome-shell = {
|
2024-06-22 19:53:09 -04:00
|
|
|
enable = true;
|
2024-07-10 23:43:51 -04:00
|
|
|
|
2024-07-23 13:04:10 -04:00
|
|
|
extensions = [
|
|
|
|
{package = pkgs.gnomeExtensions.appindicator;}
|
|
|
|
{package = pkgs.gnomeExtensions.blur-my-shell;}
|
|
|
|
{package = pkgs.gnomeExtensions.gsconnect;}
|
|
|
|
{package = pkgs.gnomeExtensions.light-shell;}
|
|
|
|
{package = pkgs.gnomeExtensions.night-theme-switcher;}
|
|
|
|
{package = pkgs.gnomeExtensions.noannoyance-fork;}
|
|
|
|
{package = pkgs.gnomeExtensions.tailscale-status;}
|
|
|
|
{package = pkgs.gnomeExtensions.tiling-assistant;}
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg.mimeApps.defaultApplications = {
|
|
|
|
"x-scheme-handler/sms" = "org.gnome.Shell.Extensions.GSConnect.desktop";
|
|
|
|
"x-scheme-handler/tel" = "org.gnome.Shell.Extensions.GSConnect.desktop";
|
2024-06-22 19:53:09 -04:00
|
|
|
};
|
2024-03-28 19:52:15 -04:00
|
|
|
};
|
|
|
|
}
|