89 lines
3.1 KiB
Nix
89 lines
3.1 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
{
|
|
# Enable the GNOME Desktop Environment.
|
|
services.displayManager.gdm = {
|
|
enable = true;
|
|
wayland = true;
|
|
};
|
|
|
|
services.desktopManager.gnome = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.dconf.profiles.user.databases = [
|
|
{
|
|
lockAll = true; # prevents overriding
|
|
settings = {
|
|
# re-login to activate
|
|
"org/gnome/mutter" = {
|
|
dynamic-workspaces = false;
|
|
experimental-features=[
|
|
"scale-monitor-framebuffer"
|
|
"xwayland-native-scaling"
|
|
];
|
|
};
|
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
|
volume-step = lib.gvariant.mkInt32 2;
|
|
};
|
|
"org/gnome/desktop/wm/preferences" = {
|
|
num-workspaces = lib.gvariant.mkInt32 5;
|
|
};
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
switch-to-workspace-1 = ["<Control>1"];
|
|
switch-to-workspace-2 = ["<Control>2"];
|
|
switch-to-workspace-3 = ["<Control>3"];
|
|
switch-to-workspace-4 = ["<Control>4"];
|
|
switch-to-workspace-5 = ["<Control>5"];
|
|
};
|
|
"org/gnome/desktop/interface" = {
|
|
document-font-name = "Noto Sans CJK SC 12 @wght=400";
|
|
font-name = "Noto Sans CJK SC 11 @wght=400";
|
|
monospace-font-name = "RecMonoLinear Nerd Font Mono 11";
|
|
};
|
|
"org/gnome/shell" = {
|
|
# disable-user-extensions = true; # Optionally disable user extensions entirely
|
|
enabled-extensions = [
|
|
# Put UUIDs of extensions that you want to enable here.
|
|
# If the extension you want to enable is packaged in nixpkgs,
|
|
# you can easily get its UUID by accessing its extensionUuid
|
|
# field (look at the following example).
|
|
pkgs.gnomeExtensions.blur-my-shell.extensionUuid
|
|
pkgs.gnomeExtensions.dash-to-dock.extensionUuid
|
|
pkgs.gnomeExtensions.brightness-control-using-ddcutil.extensionUuid
|
|
pkgs.gnomeExtensions.caffeine.extensionUuid
|
|
pkgs.gnomeExtensions.night-theme-switcher.extensionUuid
|
|
pkgs.gnomeExtensions.primary-input-on-lockscreen.extensionUuid
|
|
pkgs.gnomeExtensions.tray-icons-reloaded.extensionUuid
|
|
pkgs.gnomeExtensions.auto-move-windows.extensionUuid
|
|
|
|
# Alternatively, you can manually pass UUID as a string.
|
|
# "blur-my-shell@aunetx"
|
|
# ...
|
|
];
|
|
};
|
|
"org/gnome/shell/extensions/auto-move-windows" = {
|
|
application-list = [
|
|
"Alacritty.desktop:1"
|
|
"firefox.desktop:2"
|
|
"thunderbird.desktop:3"
|
|
"org.telegram.desktop.desktop:4"
|
|
"steam.desktop:5"
|
|
];
|
|
};
|
|
};
|
|
}
|
|
];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
gnomeExtensions.blur-my-shell
|
|
gnomeExtensions.dash-to-dock
|
|
gnomeExtensions.brightness-control-using-ddcutil
|
|
gnomeExtensions.caffeine
|
|
gnomeExtensions.night-theme-switcher
|
|
gnomeExtensions.primary-input-on-lockscreen
|
|
gnomeExtensions.tray-icons-reloaded
|
|
gnomeExtensions.auto-move-windows # pin apps to workspaces
|
|
];
|
|
}
|