107 lines
3.3 KiB
Nix
107 lines
3.3 KiB
Nix
{ inputs, ... }: {
|
|
flake.modules.nixos.gnome = {pkgs, ... }: {
|
|
services = {
|
|
desktopManager.gnome.enable = true;
|
|
displayManager.gdm = {
|
|
enable = true;
|
|
wayland = true;
|
|
banner = "Welcome to John's NixOS implementation";
|
|
};
|
|
udev.packages = [
|
|
pkgs.gnome-settings-daemon # For gnome systray icons
|
|
];
|
|
};
|
|
};
|
|
|
|
flake.modules.homeManager.gnome = { config, pkgs, ... }:
|
|
let
|
|
# `gnome-extensions list` for a list
|
|
extensions = with pkgs.gnomeExtensions; [
|
|
appindicator # For gnome systray icons
|
|
dash-to-panel
|
|
gtile
|
|
space-bar
|
|
switcher
|
|
tactile
|
|
vitals
|
|
];
|
|
enabledExtensions = map (ext: ext.extensionUuid) extensions;
|
|
in
|
|
{
|
|
gtk = {
|
|
enable = true;
|
|
theme = {
|
|
name = "Orchis-Dark";
|
|
package = pkgs.orchis-theme;
|
|
};
|
|
gtk4.theme = config.gtk.theme;
|
|
};
|
|
|
|
home.packages = [ pkgs.gnome-tweaks ] ++ extensions;
|
|
|
|
dconf.settings = {
|
|
"org/gnome/desktop/interface" = {
|
|
color-scheme = "prefer-dark";
|
|
};
|
|
|
|
"org/gnome/shell" = {
|
|
disable-user-extensions = false;
|
|
enabled-extensions = enabledExtensions;
|
|
};
|
|
|
|
"org/gnome/desktop/wm/preferences" = {
|
|
button-layout = ":minimize,close";
|
|
};
|
|
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
"switch-to-workspace-1" = ["<Super>1"];
|
|
"switch-to-workspace-2" = ["<Super>2"];
|
|
"switch-to-workspace-3" = ["<Super>3"];
|
|
"switch-to-workspace-4" = ["<Super>4"];
|
|
"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"];
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
|
custom-keybindings = [
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/edit-nix/"
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-browser/"
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/ad-dev/"
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/shutdown/"
|
|
];
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/edit-nix" = {
|
|
binding = "<Primary><Alt>n";
|
|
command = "code /etc/nixos";
|
|
name = "Edit Nix config";
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch-browser" = {
|
|
binding = "<Primary><Alt>b";
|
|
command = "brave";
|
|
name = "Launch Brave browser";
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/ad-dev" = {
|
|
binding = "<Primary><Alt>d";
|
|
command = ''code --file-uri "vscode-remote://ssh-remote+ad-nix/etc/nixos/ad-nix.code-workspace"'';
|
|
name = "Launch AppDaemon Development over Tailscale";
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/ws1" = {
|
|
binding = "<Super>1";
|
|
command = "wmctrl -s 0";
|
|
name = "Switch to workspace 1";
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/shutdown" = {
|
|
binding = "<Primary><Alt>p";
|
|
command = "gnome-session-quit --power-off --force";
|
|
name = "Shutdown immediately";
|
|
};
|
|
};
|
|
};
|
|
} |