193 lines
6.2 KiB
Nix
193 lines
6.2 KiB
Nix
{lib, config, pkgs, ...}:
|
|
|
|
let
|
|
unstable = import <nixos-unstable> {};
|
|
in
|
|
{
|
|
config = rec {
|
|
services.xserver.enable = true;
|
|
services.xserver.desktopManager.gnome.enable = true;
|
|
services.xserver.displayManager.gdm = {
|
|
enable = true;
|
|
wayland = false;
|
|
autoSuspend = false;
|
|
};
|
|
|
|
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
|
|
programs.dconf.profiles.user.databases = [{
|
|
settings = with lib.gvariant; {
|
|
"org/gnome/desktop/background" = {
|
|
picture-options="zoom";
|
|
picture-uri="file://${../../media/wallpaper.png}";
|
|
picture-uri-dark="file://${../../media/wallpaper.png}";
|
|
};
|
|
|
|
"org/gnome/desktop/interface" = {
|
|
clock-show-date=true;
|
|
clock-show-seconds=true;
|
|
clock-show-weekday=true;
|
|
color-scheme="prefer-dark";
|
|
};
|
|
|
|
"org/gnome/desktop/media-handling" = {
|
|
automount=false;
|
|
};
|
|
|
|
"org/gnome/desktop/peripherals/mouse" = {
|
|
accel-profile="flat";
|
|
};
|
|
|
|
"org/gnome/desktop/sound" = {
|
|
allow-volume-above-100-percent=true;
|
|
};
|
|
|
|
"org/gnome/mutter" = {
|
|
dynamic-workspaces=true;
|
|
workspaces-only-on-primary=true;
|
|
};
|
|
|
|
"org/gnome/SessionManager" = {
|
|
logout-prompt=false;
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/power" = {
|
|
power-button-action="notning";
|
|
sleep-inactive-ac-type="nothing";
|
|
};
|
|
|
|
"org/gnome/shell" = {
|
|
enabled-extensions=[
|
|
"drive-menu@gnome-shell-extensions.gcampax.github.com"
|
|
"pop-shell@system76.com"
|
|
"workspace-indicator@gnome-shell-extensions.gcampax.github.com"
|
|
"Vitals@CoreCoding.com"
|
|
"trayIconsReloaded@selfmade.pl"
|
|
"places-menu@gnome-shell-extensions.gcampax.github.com"
|
|
"apps-menu@gnome-shell-extensions.gcampax.github.com"
|
|
"top-bar-organizer@julian.gse.jsts.xyz"
|
|
"color-picker@tuberry"
|
|
];
|
|
favorite-apps=[
|
|
(if builtins.elem pkgs.kitty config.environment.systemPackages then
|
|
"kitty.desktop"
|
|
else none)
|
|
"vivaldi-stable.desktop"
|
|
"code.desktop"
|
|
"org.gnome.Nautilus.desktop"
|
|
(if config.programs.steam.enable then
|
|
"steam.desktop"
|
|
else none)
|
|
"pavucontrol.desktop"
|
|
];
|
|
};
|
|
|
|
"org/gnome/shell/app-switcher" = {
|
|
current-workspace-only=false;
|
|
};
|
|
|
|
"org/gnome/shell/extensions/color-picker" = {
|
|
color-picker-shortcut=["<Super><Alt>c"];
|
|
enable-shortcut=true;
|
|
enable-systray=false;
|
|
menu-key="";
|
|
notify-style=mkUint32 1;
|
|
preview-style=mkUint32 0;
|
|
};
|
|
|
|
"org/gnome/shell/extensions/pop-shell" = {
|
|
active-hint=true;
|
|
active-hint-border-radius=mkUint32 1;
|
|
gap-inner=mkUint32 2;
|
|
gap-outer=mkUint32 1;
|
|
show-skip-taskbar=true;
|
|
show-title=true;
|
|
smart-gaps=false;
|
|
snap-to-grid=false;
|
|
tile-by-default=true;
|
|
};
|
|
|
|
"org/gnome/shell/extensions/top-bar-organizer" = {
|
|
center-box-order=["dateMenu"];
|
|
left-box-order=["activities" "apps-menu" "places-menu" "vitalsMenu"];
|
|
right-box-order=["TrayIconsReloaded" "workspace-indicator" "pop-shell" "color-picker@tuberry" "drive-menu" "screenRecording" "screenSharing" "dwellClick" "a11y" "keyboard" "quickSettings"];
|
|
};
|
|
|
|
"org/gnome/shell/extensions/trayIconsReloaded" = {
|
|
icon-brightness=mkInt32 0;
|
|
icon-contrast=mkInt32 0;
|
|
icon-margin-horizontal=mkInt32 0;
|
|
icon-margin-vertical=mkInt32 0;
|
|
icon-padding-horizontal=mkInt32 4;
|
|
icon-padding-vertical=mkInt32 0;
|
|
icon-saturation=mkInt32 0;
|
|
icon-size=mkInt32 16;
|
|
icons-limit=mkInt32 5;
|
|
invoke-to-workspace=true;
|
|
position-weight=mkInt32 0;
|
|
tray-margin-left=mkInt32 0;
|
|
tray-margin-right=mkInt32 0;
|
|
};
|
|
|
|
"org/gnome/shell/extensions/vitals" = {
|
|
hide-icons=false;
|
|
hot-sensors=["_processor_usage_" "_memory_allocated_"];
|
|
memory-measurement=mkInt32 1;
|
|
update-time=mkInt32 2;
|
|
use-higher-precision=true;
|
|
};
|
|
|
|
"org/gnome/shell/keybindings" = {
|
|
show-screenshot-ui=["Print" "<Super><Shift>S"];
|
|
};
|
|
|
|
"org/gnome/desktop/default-applications/terminal" =
|
|
if builtins.elem pkgs.kitty config.environment.systemPackages then {
|
|
exec = "kitty";
|
|
exec-arg = "";
|
|
} else null;
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
|
custom-keybindings = [
|
|
(
|
|
if builtins.elem pkgs.kitty config.environment.systemPackages then
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybinding/custom0"
|
|
else null
|
|
)
|
|
];
|
|
help = mkEmptyArray "s";
|
|
screensaver = ["<Control><Super>l"];
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybinding/custom0" =
|
|
if builtins.elem pkgs.kitty config.environment.systemPackages then {
|
|
binding="<Control><Alt>t";
|
|
command="kitty";
|
|
name="Terminal";
|
|
} else null;
|
|
|
|
};
|
|
}];
|
|
|
|
programs.dconf.profiles.gdm.databases = with builtins.elemAt programs.dconf.profiles.user.databases 0; [{
|
|
settings = {
|
|
"org/gnome/desktop/interface" = settings."org/gnome/desktop/interface";
|
|
"org/gnome/desktop/peripherals/mouse" = settings."org/gnome/desktop/peripherals/mouse";
|
|
"org/gnome/desktop/sound" = settings."org/gnome/desktop/sound";
|
|
"org/gnome/settings-daemon/plugins/power" = settings."org/gnome/settings-daemon/plugins/power";
|
|
"org/gnome/shell/keybindings" = settings."org/gnome/shell/keybindings";
|
|
};
|
|
}];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
gnomeExtensions.pop-shell
|
|
gnomeExtensions.vitals
|
|
gnomeExtensions.tray-icons-reloaded
|
|
gnomeExtensions.color-picker
|
|
gnomeExtensions.top-bar-organizer
|
|
# unstable.gnomeExtensions.translate-indicator
|
|
# translate-shell
|
|
pavucontrol
|
|
];
|
|
};
|
|
}
|