From 812a0ad57460cd5b4afd8ab1f9d676889460fdb6 Mon Sep 17 00:00:00 2001 From: Grey Jones Date: Tue, 7 Jul 2026 03:43:49 +0100 Subject: [PATCH] create gnome config basic keybinds, pinned apps, extensions, etc. --- global-configs/gnome.nix | 121 +++++++++++++++++++++++++++++++++++++ hosts/kitagawa/default.nix | 2 +- hosts/kitagawa/home.nix | 15 +++++ 3 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 global-configs/gnome.nix diff --git a/global-configs/gnome.nix b/global-configs/gnome.nix new file mode 100644 index 0000000..9149c5a --- /dev/null +++ b/global-configs/gnome.nix @@ -0,0 +1,121 @@ +{ + pkgs, + lib, + ... +}: { + programs.gnome-shell = { + enable = true; + extensions = [ + { package = pkgs.gnomeExtensions.dash-to-dock; } + { package = pkgs.gnomeExtensions.blur-my-shell; } + { package = pkgs.gnomeExtensions.appindicator; } + { package = pkgs.gnomeExtensions.gsconnect; } + { package = pkgs.gnomeExtensions.clipboard-indicator; } + { package = pkgs.gnomeExtensions.custom-command-toggle; } + { package = pkgs.gnomeExtensions.custom-command-list; } + { package = pkgs.gnomeExtensions.keep-pinned-apps-in-appgrid; } + ]; + }; + + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + cursor-size = 22; + cursor-theme = lib.gvariant.mkValue "Bibata-Modern-Ice"; + enable-hot-corners = false; + clock-show-weekday = true; + }; + "org/gnome/desktop/wm/keybindings" = { + close = lib.gvariant.mkArray [ "q" ]; + show-desktop = lib.gvariant.mkArray [ "d" ]; + + switch-applications = lib.gvariant.mkEmptyArray (lib.gvariant.type.string); + switch-applications-backward = lib.gvariant.mkEmptyArray (lib.gvariant.type.string); + switch-windows = lib.gvariant.mkArray [ "Tab" ]; + switch-windows-backward = lib.gvariant.mkArray [ "Tab" ]; + + switch-to-workspace-1 = lib.gvariant.mkArray [ "1" ]; + switch-to-workspace-2 = lib.gvariant.mkArray [ "2" ]; + switch-to-workspace-3 = lib.gvariant.mkArray [ "3" ]; + switch-to-workspace-4 = lib.gvariant.mkArray [ "4" ]; + + move-to-workspace-1 = lib.gvariant.mkArray [ "1" ]; + move-to-workspace-2 = lib.gvariant.mkArray [ "2" ]; + move-to-workspace-3 = lib.gvariant.mkArray [ "3" ]; + move-to-workspace-4 = lib.gvariant.mkArray [ "4" ]; + }; + "org/gnome/desktop/wm/preferences" = { + num-workspaces = 4; + }; + "org/gnome/settings-daemon/plugins/media-keys" = { + help = lib.gvariant.mkEmptyArray (lib.gvariant.type.string); + calculator = lib.gvariant.mkArray [ "c" ]; + shutdown = lib.gvariant.mkArray [ "p" ]; + reboot = lib.gvariant.mkArray [ "r" ]; + www = lib.gvariant.mkArray [ "b" ]; + + custom-keybindings = lib.gvariant.mkArray [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/" + ]; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + binding = lib.gvariant.mkValue "Return"; + command = lib.gvariant.mkValue "kitty"; + name = lib.gvariant.mkValue "launch kitty"; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { + binding = lib.gvariant.mkValue "e"; + command = lib.gvariant.mkValue "nautilus -w"; + name = lib.gvariant.mkValue "launch nautilus"; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = { + binding = lib.gvariant.mkValue "z"; + command = lib.gvariant.mkValue "kitty nh os switch /home/grey/nixos"; + name = lib.gvariant.mkValue "rebuild nixos flake"; + }; + "org/gnome/desktop/peripherals/touchpad" = { + speed = 0.15; + }; + "org/gnome/mutter" = { + dynamic-workspaces = false; + }; + "org/gnome/shell" = { + favorite-apps = lib.gvariant.mkArray [ + "signal.desktop" + "equibop.desktop" + "thunderbird.desktop" + "spotify.desktop" + "obsidian.desktop" + "github-desktop.desktop" + "code.desktop" + "idea.desktop" + "clion.desktop" + "proton.vpn.app.gtk.desktop" + ]; + }; + "org/gnome/shell/keybindings" = { + switch-to-application-1 = lib.gvariant.mkEmptyArray (lib.gvariant.type.string); + switch-to-application-2 = lib.gvariant.mkEmptyArray (lib.gvariant.type.string); + switch-to-application-3 = lib.gvariant.mkEmptyArray (lib.gvariant.type.string); + switch-to-application-4 = lib.gvariant.mkEmptyArray (lib.gvariant.type.string); + }; + "org/gnome/settings-daemon/plugins/power" = { + sleep-inactive-ac-type = lib.gvariant.mkValue "nothing"; + sleep-inactive-battery-type = lib.gvariant.mkValue "nothing"; + }; + "org/gnome/settings-daemon/plugins/color" = { + night-light-enabled = true; + night-light-temperature = lib.gvariant.mkUint32 4200; + night-light-schedule-from = 20.0; + night-light-schedule-to = 6.0; + }; + "org/gnome/shell/extensions/dash-to-dock" = { + hot-keys = false; + show-trash = false; + }; + }; + }; +} \ No newline at end of file diff --git a/hosts/kitagawa/default.nix b/hosts/kitagawa/default.nix index 6c1ade6..d2e1c75 100644 --- a/hosts/kitagawa/default.nix +++ b/hosts/kitagawa/default.nix @@ -15,7 +15,7 @@ in { "${modules-dir}/nh.nix" "${modules-dir}/home-manager.nix" "${modules-dir}/zsh.nix" - "${modules-dir}/display-managers/lightdm.nix" + "${modules-dir}/display-managers/gdm.nix" "${modules-dir}/desktop-environments/gnome.nix" "${modules-dir}/window-managers/niri.nix" ]; diff --git a/hosts/kitagawa/home.nix b/hosts/kitagawa/home.nix index 0234dbb..cb54964 100644 --- a/hosts/kitagawa/home.nix +++ b/hosts/kitagawa/home.nix @@ -15,6 +15,7 @@ in { "${global-configs}/floorp.nix" "${global-configs}/vscode.nix" "${global-configs}/niri.nix" + "${global-configs}/gnome.nix" ]; home.packages = with pkgs; [ @@ -27,6 +28,7 @@ in { jetbrains.idea proton-vpn ente-auth + signal-desktop ]; dconf.settings = { @@ -49,4 +51,17 @@ in { platformTheme.name = "adwaita"; style.name = "adwaita-dark"; }; + + xdg = { + enable = true; + mimeApps.defaultApplications = { + "x-scheme-handler/x-github-client" = [ "github-desktop.desktop" ]; + "x-scheme-handler/x-github-desktop-dev-auth" = [ "github-desktop.desktop" ]; + "x-scheme-handler/http" = [ "floorp.desktop" ]; + "text/html" = [ "floorp.desktop" ]; + "application/xhtml+xml" = [ "floorp.desktop" ]; + "x-scheme-handler/https" = [ "floorp.desktop" ]; + "text/calendar" = [ "thunderbird.desktop" ]; + }; + }; }