Files
nixos-blueprint/modules/home/desktop/gnome/default.nix
unexplrd a83068d010 run "statix fix"
hosts/dunamis/sops.nix: fix w/ statix
hosts/dunamis/users/user/home-configuration.nix: fix w/ statix
hosts/eldrid/users/user/home-configuration.nix: fix w/ statix
modules/home/desktop/gnome/default.nix: fix w/ statix
modules/home/desktop/hyprland/default.nix: fix w/ statix
modules/home/desktop/niri/default.nix: add swayosd, move bar to the bottom, fix w/ statix
modules/nixos/system/security/basic.nix: fix w/ statix

Signed-off-by: unexplrd <unexplrd@linerds.us>
2025-03-29 14:37:17 +02:00

207 lines
7.5 KiB
Nix

{
config,
pkgs,
lib,
...
}:
with lib; let
cfg = config.desktop.gnome;
inherit (config.lib.stylix) colors;
in {
options = {
desktop.gnome.enable =
mkEnableOption "enable gnome desktop";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
gnomeExtensions.alphabetical-app-grid
gnomeExtensions.removable-drive-menu
gnomeExtensions.caffeine
gnomeExtensions.space-bar
gnomeExtensions.switcher
gnomeExtensions.tactile
gnomeExtensions.pano
gnomeExtensions.window-is-ready-remover
junction
celluloid
mission-center
dconf
pwvucontrol
wl-clipboard
];
programs.gnome-shell.extensions = [
{package = pkgs.gnomeExtensions.alphabetical-app-grid;}
{package = pkgs.gnomeExtensions.removable-drive-menu;}
{package = pkgs.gnomeExtensions.caffeine;}
{package = pkgs.gnomeExtensions.space-bar;}
{package = pkgs.gnomeExtensions.switcher;}
{package = pkgs.gnomeExtensions.tactile;}
{package = pkgs.gnomeExtensions.pano;}
{package = pkgs.gnomeExtensions.window-is-ready-remover;}
];
dconf.settings = with lib.hm.gvariant; {
"org/gnome/desktop/a11y/applications" = {
screen-reader-enabled = false;
};
"org/gnome/desktop/app-folders/folders/Utilities" = {
apps = ["org.gnome.baobab.desktop" "org.gnome.FileRoller.desktop" "org.gnome.DiskUtility.desktop" "org.gnome.Connections.desktop" "org.gnome.seahorse.Application.desktop" "org.gnome.Loupe.desktop" "org.gnome.Evince.desktop" "org.gnome.font-viewer.desktop" "org.freedesktop.GnomeAbrt.desktop" "nm-connection-editor.desktop" "org.gnome.DejaDup.desktop" "org.gnome.tweaks.desktop" "org.gnome.Usage.desktop"];
categories = ["X-GNOME-Utilities"];
name = "X-GNOME-Utilities.directory";
translate = true;
};
"org/gnome/desktop/input-sources" = {
mru-sources = [(mkTuple ["xkb" "us"])];
sources = [(mkTuple ["xkb" "us"]) (mkTuple ["xkb" "ua"]) (mkTuple ["xkb" "us+colemak_dh"])];
xkb-options = ["terminate:ctrl_alt_bksp"];
};
"org/gnome/desktop/interface" = {
accent-color = "slate";
clock-show-seconds = true;
color-scheme = "prefer-dark";
enable-animations = true;
gtk-enable-primary-paste = false;
scaling-factor = mkUint32 1;
toolbar-style = "text";
toolkit-accessibility = false;
};
"org/gnome/desktop/peripherals/mouse" = {
accel-profile = "flat";
};
"org/gnome/desktop/peripherals/keyboard" = {
delay = 250;
repeat-interval = 25;
};
"org/gnome/desktop/peripherals/touchpad" = {
two-finger-scrolling-enabled = true;
};
"org/gnome/desktop/search-providers" = {
disabled = ["org.gnome.Epiphany.desktop"];
sort-order = ["org.gnome.Settings.desktop" "org.gnome.Contacts.desktop" "org.gnome.Nautilus.desktop"];
};
"org/gnome/desktop/wm/keybindings" = {
close = ["<Control><Super>q"];
move-to-monitor-down = ["<Shift><Control><Super>Down"];
move-to-monitor-left = ["<Shift><Control><Super>Left"];
move-to-monitor-right = ["<Shift><Control><Super>Right"];
move-to-monitor-up = ["<Shift><Control><Super>Up"];
move-to-workspace-1 = ["<Control><Super>1"];
move-to-workspace-2 = ["<Control><Super>2"];
move-to-workspace-3 = ["<Control><Super>3"];
move-to-workspace-4 = ["<Control><Super>4"];
move-to-workspace-5 = ["<Control><Super>5"];
move-to-workspace-last = ["<Shift><Control><Super>End"];
move-to-workspace-left = ["<Control><Super>Left"];
move-to-workspace-right = ["<Control><Super>Right"];
switch-input-source = ["<Super>Escape"];
switch-input-source-backward = ["<Shift><Super>Escape"];
switch-to-workspace-1 = ["<Super>1"];
switch-to-workspace-2 = ["<Super>2"];
switch-to-workspace-3 = ["<Super>3"];
switch-to-workspace-4 = ["<Super>4"];
switch-to-workspace-left = ["<Super>Left"];
switch-to-workspace-right = ["<Super>Right"];
};
"org/gnome/desktop/wm/preferences" = {
auto-raise = true;
button-layout = "icon:close";
};
"org/gnome/epiphany" = {
ask-for-default = false;
};
"org/gnome/mutter" = {
dynamic-workspaces = true;
experimental-features = ["scale-monitor-framebuffer"];
workspaces-only-on-primary = true;
};
"org/gnome/nm-applet" = {
disable-connected-notifications = true;
};
"org/gnome/settings-daemon/plugins/color" = {
night-light-enabled = true;
night-light-schedule-automatic = false;
};
"org/gnome/shell" = {
enabled-extensions = ["drive-menu@gnome-shell-extensions.gcampax.github.com" "caffeine@patapon.info" "AlphabeticalAppGrid@stuarthayhurst" "appindicatorsupport@rgcjonas.gmail.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "tactile@lundal.io" "switcher@landau.fi" "pano@elhan.io" "space-bar@luchrioh"];
};
"org/gnome/shell/app-switcher" = {
current-workspace-only = true;
};
"org/gnome/shell/extensions/caffeine" = {
indicator-position-max = 1;
};
"org/gnome/shell/extensions/space-bar/appearance" = {
application-styles = ".space-bar {n -natural-hpadding: 12px;n}nn.space-bar-workspace-label.active {n margin: 0 4px;n background-color: rgba(255,255,255,0.3);n color: rgba(255,255,255,1);n border-color: rgba(0,0,0,0);n font-weight: 700;n border-radius: 4px;n border-width: 0px;n padding: 3px 8px;n}nn.space-bar-workspace-label.inactive {n margin: 0 4px;n background-color: rgba(0,0,0,0);n color: rgba(255,255,255,1);n border-color: rgba(0,0,0,0);n font-weight: 700;n border-radius: 4px;n border-width: 0px;n padding: 3px 8px;n}nn.space-bar-workspace-label.inactive.empty {n margin: 0 4px;n background-color: rgba(0,0,0,0);n color: rgba(255,255,255,0.5);n border-color: rgba(0,0,0,0);n font-weight: 700;n border-radius: 4px;n border-width: 0px;n padding: 3px 8px;n}";
};
"org/gnome/shell/extensions/space-bar/behavior" = {
show-empty-workspaces = false;
};
"org/gnome/shell/extensions/switcher" = {
activate-after-ms = mkUint32 0;
activate-by-key = mkUint32 1;
fade-enable = true;
font-size = mkUint32 24;
icon-size = mkUint32 24;
max-width-percentage = mkUint32 60;
only-current-workspace = true;
show-executables = false;
show-switcher = ["<Super>space"];
workspace-indicator = true;
};
"org/gnome/shell/extensions/tactile" = {
background-color = "#${colors.base00}";
border-color = "#${colors.base0D}";
border-size = 3;
col-3 = 0;
gap-size = 6;
layout-2-col-1 = 1;
layout-2-row-2 = 0;
layout-3-col-1 = 2;
layout-3-col-2 = 1;
layout-3-col-3 = 0;
layout-3-row-2 = 0;
monitor-1-layout = 3;
text-color = "#${colors.base05}";
tile-0-2 = ["z"];
tile-1-1 = ["r"];
tile-1-2 = ["x"];
tile-2-0 = ["f"];
tile-2-1 = ["s"];
tile-2-2 = ["c"];
tile-3-0 = ["p"];
tile-3-1 = ["t"];
tile-3-2 = ["d"];
};
"org/gnome/software" = {
download-updates = false;
download-updates-notify = false;
first-run = false;
};
"org/gnome/tweaks" = {
show-extensions-notice = false;
};
};
};
}