Files
nixos-config/hosts/phoenix/gnome.nix
2025-08-20 18:24:02 +03:00

140 lines
4.2 KiB
Nix

{ pkgs, lib, ... }: {
services.xserver.desktopManager.gnome.enable = true;
environment.gnome.excludePackages = (with pkgs; [
gnome-tour
yelp # Help view
# ]) ++ (with pkgs.gnome; [
tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
]);
programs.dconf.enable = true;
imp.home.dirs = [ ".local/share/keyrings" ];
hm = let
extensions = with pkgs.gnomeExtensions; [
# gnomeExtensions.user-themes
blur-my-shell
pop-shell
vitals
];
# inherit (lib.hm.gvariant) mkTuple;
in {
dconf.settings = {
"org/gnome/desktop/input-sources" = {
# sources = [ (mkTuple [ "xkb" "us" ]) (mkTuple [ "xkb" "by+ru" ]) ];
xkb-options = [ "grp:caps_toggle" "compose:rctrl" ];
};
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
enable-hot-corners = false;
# gtk-theme = "adw-gtk3-dark";
show-battery-percentage = true;
toolkit-accessibility = false;
};
"org/gnome/desktop/peripherals/touchpad" = {
tap-to-click = true;
two-finger-scrolling-enabled = true;
};
"org/gnome/desktop/wm/keybindings" = let
binds = map (x: { "switch-to-workspace-${toString x}" = [ "<Super>${toString x}" ];
"move-to-workspace-${toString x}" = [ "<Shift><Super>${toString x}" ]; }) [1 2 3 4 5 6 7 8 9];
in lib.mkMerge (binds ++ [{
close = [ "<Shift><Super>q" ];
minimize = [ "<Super>minus" ];
switch-input-source = [];
switch-input-source-backward = [];
toggle-fullscreen = [ "<Super>F11" ];
}]);
"org/gnome/mutter" = {
dynamic-workspaces = false;
};
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-schedule-automatic = true;
night-light-schedule-from = 20.0;
night-light-schedule-to = 9.0;
night-light-temperature = 3469;
};
"org/gnome/settings-daemon/plugins/media-keys" = {
calculator = [ "Calculator" ];
custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" ];
mic-mute = [ "AudioMicMute" ];
screensaver = [ "ScreenSaver" ];
volume-down = [ "AudioLowerVolume" ];
volume-mute = [ "AudioMute" ];
volume-up = [ "AudioRaiseVolume" ];
www = [ "<Super>b" ];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Super>Return";
command = lib.getExe pkgs.gnome-terminal;
name = "GNOME Terminal";
};
"org/gnome/shell/extensions/pop-shell" = {
active-hint = false;
fullscreen-launcher = false;
mouse-cursor-follows-active-window = true;
show-skip-taskbar = true;
show-title = true;
smart-gaps = true;
snap-to-grid = true;
stacking-with-mouse = true;
tile-by-default = true;
tile-enter = [ "<Super>r" ];
};
"org/gnome/shell/extensions/vitals" = {
alphabetize = false;
fixed-widths = true;
hide-icons = false;
hide-zeros = true;
hot-sensors = [ "_memory_usage_" "_processor_usage_" "_storage_free_" ];
memory-measurement = 1;
menu-centered = false;
position-in-panel = 2;
};
"org/gnome/shell/keybindings" = {
toggle-application-view = [ "<Super>d" ];
toggle-quick-settings = [ "<Shift><Super>d" ];
};
# "org/gnome/shell.favorite-apps" = [
# # "chromium.desktop"
# "org.gnome.terminal.desktop"
# "org.gnome.nautilus.desktop"
# ];
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = map (x: x.extensionUuid) extensions;
};
};
home = {
packages = (with pkgs; [
# pinentry-gnome # maybe I'll delete it
# cava
adw-gtk3
dconf
gnome-tweaks
]) ++ extensions;
sessionVariables.GTK_THEME = "adw-gtk3-dark";
};
};
environment.etc."lemurs/wayland/gnome".source = pkgs.writeShellScript "gnome.sh" "${pkgs.gnome-shell}/bin/niri";
}