163 lines
5.2 KiB
Nix
163 lines
5.2 KiB
Nix
{ config, pkgs, lib, username, ... }: {
|
|
services.xserver = {
|
|
enable = true;
|
|
displayManager.gdm.enable = true;
|
|
desktopManager.gnome.enable = true;
|
|
};
|
|
|
|
environment = {
|
|
systemPackages = (with pkgs;[
|
|
gnome-tweaks
|
|
gnome-shell-extensions
|
|
]) ++ (with pkgs.gnomeExtensions;[
|
|
dash-to-dock
|
|
appindicator # tray icon
|
|
]);
|
|
|
|
gnome.excludePackages = (with pkgs; [
|
|
atomix # puzzle game
|
|
cheese # webcam tool
|
|
gnome-photos
|
|
gnome-tour
|
|
gnome-text-editor
|
|
epiphany # web browser
|
|
geary # email reader
|
|
evince # document viewer
|
|
gedit # text editor
|
|
gnome-contacts
|
|
gnome-maps
|
|
gnome-weather
|
|
gnome-music
|
|
gnome-characters
|
|
# gnome-terminal
|
|
hitori # sudoku game
|
|
iagno # go game
|
|
simple-scan
|
|
totem # video player
|
|
tali # poker game
|
|
yelp # help viewer
|
|
]);
|
|
|
|
variables = {
|
|
"GTK_IM_MODULE" = "fcitx";
|
|
"QT_IM_MODULE" = "fcitx";
|
|
"XMODIFIERS" = "@im=fcitx";
|
|
"SDL_IM_MODULE" = "fcitx";
|
|
"GLFW_IM_MODULE" = "ibus";
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
dconf = {
|
|
enable = true;
|
|
profiles = {
|
|
# TODO: Investigate customizing gdm greeter.
|
|
user.databases = [{
|
|
settings = with lib.gvariant; {
|
|
|
|
"org/gnome/desktop/interface" = {
|
|
clock-show-weekday = true;
|
|
cursor-size = mkUint32 16;
|
|
cursor-theme = "capitaine-cursors";
|
|
enable-hot-corners = false;
|
|
icon-theme = "Papirus-Dark";
|
|
locate-pointer = false;
|
|
monospace-font-name = "JetBrainsMono Nerd Font Mono 10";
|
|
overlay-scrolling = true;
|
|
};
|
|
|
|
"org/gnome/mutter" = {
|
|
edge-tiling = true;
|
|
attach-modal-dialogs = true;
|
|
experimental-features = [ "scale-monitor-framebuffer" ];
|
|
};
|
|
|
|
"org/gnome/shell" = {
|
|
last-selected-power-profile = "power-saver";
|
|
};
|
|
|
|
"org/gnome/desktop/session" = {
|
|
idle-delay = mkUint32 900;
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/power" = {
|
|
power-button-action = "interactive";
|
|
sleep-inactive-ac-timeout = mkUint32 7200;
|
|
sleep-inactive-ac-type = "nothing";
|
|
};
|
|
|
|
"org/gtk/gtk4/settings/file-chooser" = {
|
|
sort-directories-first = true;
|
|
# show-hidden = true;
|
|
view-type = "list";
|
|
};
|
|
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
minimize = mkEmptyArray type.string;
|
|
move-to-workspace-1 = [ "<Shift><Super>1" ];
|
|
move-to-workspace-2 = [ "<Shift><Super>2" ];
|
|
move-to-workspace-3 = [ "<Shift><Super>3" ];
|
|
move-to-workspace-4 = [ "<Shift><Super>4" ];
|
|
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 = [ "<Control><Super>h" ];
|
|
switch-to-workspace-right = [ "<Control><Super>l" ];
|
|
switch-windows = [ "<Alt>Tab" ];
|
|
switch-windows-backward = [ "<Shift><Alt>Tab" ];
|
|
switch-applications = [ "<Super>Tab" ];
|
|
switch-applications-backward = [ "<Shift><Super>Tab" ];
|
|
};
|
|
|
|
"org/gnome/shell/keybindings" = {
|
|
# Following binds are replaced by the ones above.
|
|
switch-to-application-1 = mkEmptyArray type.string;
|
|
switch-to-application-2 = mkEmptyArray type.string;
|
|
switch-to-application-3 = mkEmptyArray type.string;
|
|
switch-to-application-4 = mkEmptyArray type.string;
|
|
};
|
|
|
|
"org/gnome/shell" = {
|
|
enabled-extensions = [
|
|
"appindicatorsupport@rgcjonas.gmail.com"
|
|
"dash-to-dock@micxgx.gmail.com"
|
|
"status-icons@gnome-shell-extensions.gcampax.github.com"
|
|
"system-monitor@gnome-shell-extensions.gcampax.github.com"
|
|
];
|
|
};
|
|
|
|
"org/gnome/shell/extensions/dash-to-panel" = {
|
|
apply-custom-theme = false;
|
|
background-opacity = 0.8;
|
|
click-action = "previews";
|
|
custom-background-color = false;
|
|
custom-theme-shrink = true;
|
|
dash-max-icon-size = mkUint32 40;
|
|
dock-position = "BOTTOM";
|
|
extend-height = false;
|
|
height-fraction = 0.9;
|
|
hot-keys = false;
|
|
icon-size-fixed = true;
|
|
isolate-monitors = true;
|
|
max-alpha = 0.8;
|
|
multi-monitor = true;
|
|
preview-size-scale = 0.0;
|
|
running-indicator-style = "DOTS";
|
|
scroll-action = "cycle-windows";
|
|
show-mounts = false;
|
|
show-mounts-only-mounted = true;
|
|
transparency-mode = "DYNAMIC";
|
|
};
|
|
"org/gnome/shell/extensions/system-monitor" = {
|
|
show-download = true;
|
|
show-swap = false;
|
|
show-upload = false;
|
|
};
|
|
};
|
|
}];
|
|
};
|
|
};
|
|
};
|
|
}
|