From df0e6b29243b2fa71f096ca3ff2cff6a8cc8a224 Mon Sep 17 00:00:00 2001 From: Jordan Holt Date: Sun, 16 Mar 2025 15:17:08 +0000 Subject: [PATCH] gnome: split home-manager config from module --- modules/nixos/system/desktop/gnome.nix | 226 ----------------------- users/jordan/graphical/default.nix | 14 +- users/jordan/graphical/gnome.nix | 242 +++++++++++++++++++++++++ 3 files changed, 252 insertions(+), 230 deletions(-) create mode 100644 users/jordan/graphical/gnome.nix diff --git a/modules/nixos/system/desktop/gnome.nix b/modules/nixos/system/desktop/gnome.nix index 0201cee..19095b0 100644 --- a/modules/nixos/system/desktop/gnome.nix +++ b/modules/nixos/system/desktop/gnome.nix @@ -2,7 +2,6 @@ config, lib, pkgs, - self, ... }: @@ -28,229 +27,6 @@ in services.fwupd.enable = true; programs.dconf.enable = true; - dconf.settings = { - "io/github/celluloid-player/celluloid" = { - draggable-video-area-enable = true; - }; - "org/gnome/Console" = { - font-scale = 1.4; - use-system-font = false; - custom-font = "ComicShannsMono Nerd Font 10"; - }; - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - cursor-theme = "Adwaita"; - enable-hot-corners = false; - font-name = "Adwaita Sans 11"; - gtk-theme = "adw-gtk3-dark"; - icon-theme = "MoreWaita"; - monospace-font-name = "Adwaita Mono 11"; - toolbar-style = "both-horiz"; - }; - "org/gnome/desktop/peripherals/touchpad" = { - tap-to-click = true; - }; - "org/gnome/desktop/sound" = { - theme-name = "freedesktop"; - }; - "org/gnome/desktop/search-providers" = { - disabled = [ "org.gnome.Epiphany.desktop" ]; - }; - "org/gnome/desktop/wm/keybindings" = { - switch-group = [ "grave" ]; - switch-group-backward = [ "grave" ]; - }; - "org/gnome/desktop/wm/preferences" = { - button-layout = "appmenu:close"; - }; - "org/gnome/gnome-session" = { - auto-save-session = true; - }; - "org/gnome/gnome-system-monitor" = { - show-dependencies = true; - }; - "org/gnome/mutter" = { - center-new-windows = true; - edge-tiling = true; - experimental-features = [ "scale-monitor-framebuffer" ]; - }; - "org/gnome/settings-daemon/plugins/media-keys" = { - volume-up = [ - "F12" - "XF86AudioRaiseVolume" - ]; - volume-down = [ - "F11" - "XF86AudioLowerVolume" - ]; - }; - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = [ - "appindicatorsupport@rgcjonas.gmail.com" - # "arcmenu@arcmenu.com" - "blur-my-shell@aunetx" - "burn-my-windows@schneegans.github.com" - "clipboard-indicator@tudmotu.com" - "CoverflowAltTab@palatis.blogspot.com" - # "dash-to-panel@jderose9.github.com" - # "desktop-cube@schneegans.github.com" - # "EasyScreenCast@iacopodeenosee.gmail.com" - "espresso@coadmunkee.github.com" - "flypie@schneegans.github.com" - # "forge@jmmaranan.com" - "gsconnect@andyholmes.github.io" - # "gSnap@micahosborne" - "hidetopbar@mathieu.bidon.ca" - "just-perfection-desktop@just-perfection" - # "mediacontrols@cliffniff.github.com" - # "mousefollowsfocus@matthes.biz" - # "pano@elhan.io" - # "paperwm@hedning:matrix.org" - "pip-on-top@rafostar.github.com" - # "search-light@icedman.github.com" - # "smart-auto-move@khimaros.com" - "space-bar@luchrioh" - # "tiling-assistant@leleat-on-github" - "tilingshell@ferrarodomenico.com" - "Vitals@CoreCoding.com" - "windowIsReady_Remover@nunofarruca@gmail.com" - # "worksets@blipk.xyz" - # "wsmatrix@martin.zurowietz.de" - ]; - favorite-apps = [ - "firefox.desktop" - "org.gnome.Nautilus.desktop" - ]; - }; - "org/gnome/shell/extensions/blur-my-shell/panel" = { - static-blur = true; - }; - "org/gnome/shell/extensions/blur-my-shell/applications" = { - blur = false; - }; - "org/gnome/shell/extensions/burn-my-windows" = { - fire-close-effect = false; - glide-open-effect = true; - glide-close-effect = true; - }; - "org/gnome/shell/extensions/dash-to-panel" = { - intellihide = true; - panel-positions = '' - {"0":"TOP"} - ''; - trans-panel-opacity = 0.3; - trans-use-custom-opacity = true; - trans-use-dynamic-opacity = true; - }; - "org/gnome/shell/extensions/espresso" = { - enable-fullscreen = true; - show-indicator = true; - show-notifications = false; - inhibit-apps = [ - "com.obsproject.Studio.desktop" - ]; - }; - "org/gnome/shell/extensions/flypie" = { - preview-on-right-side = true; - }; - "org/gnome/shell/extensions/forge" = { - window-gap-size = 8; - window-gap-hidden-on-single = false; - }; - "org/gnome/shell/extensions/hidetopbar" = { - mouse-sensitive = true; - mouse-sensitive-fullscreen-window = true; - enable-active-window = false; - }; - "org/gnome/shell/extensions/just-perfection" = { - activities-button = false; - window-demands-attention-focus = true; - workspace-wrap-around = true; - }; - "org/gnome/shell/extensions/paperwm" = { - use-default-background = true; - }; - "org/gnome/shell/extensions/pip-on-top" = { - stick = true; - }; - "org/gnome/shell/extensions/search-light" = { - popup-at-cursor-monitor = true; - }; - "org/gnome/shell/extensions/space-bar/behavior" = { - enable-activate-workspace-shortcuts = true; - show-empty-workspaces = true; - smart-workspace-names = false; - }; - "org/gnome/shell/extensions/tiling-assistant" = { - screen-top-gap = 8; - screen-right-gap = 8; - screen-bottom-gap = 8; - screen-left-gap = 8; - window-gap = 8; - }; - "org/gnome/shell/extensions/tilingshell" = { - inner-gaps = 16; - outer-gaps = 8; - enable-blur-snap-assistant = true; - }; - "org/gtk/settings/file-chooser" = { - show-hidden = true; - sort-directories-first = true; - }; - "org/gtk/gtk4/settings/file-chooser" = { - show-hidden = true; - sort-directories-first = true; - }; - }; - - environment.sessionVariables = { - QT_STYLE_OVERRIDE = lib.mkForce "kvantum"; - QT_WAYLAND_DECORATION = lib.mkForce "adwaita"; - }; - - home.configFile = { - "Kvantum/kvantum.kvconfig".text = lib.generators.toINI { } { - General.theme = "KvLibadwaitaDark"; - }; - "Kvantum/KvLibadwaita".source = "${self.inputs.kvlibadwaita}/src/KvLibadwaita"; - }; - - user.packages = - with pkgs; - [ - authenticator - # bottles - # bustle - celluloid - # d-spy - # drawing - # fragments - dconf-editor - ghex - ghostty - # gnome-builder - gnome-decoder - gnome-firmware - gnome-frog - # gnome-obfuscate - gnome-podcasts - identity - # mission-center - mousam - newsflash - # schemes - shortwave - sysprof - ] - ++ ( - if config.virtualisation.podman.enable then - [ - pods - ] - else - [ ] - ); environment.systemPackages = with pkgs.unstable; [ adw-gtk3 @@ -295,7 +71,5 @@ in gnomeExtensions.worksets gnomeExtensions.workspace-matrix ]; - - home.services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3; }; } diff --git a/users/jordan/graphical/default.nix b/users/jordan/graphical/default.nix index 2b8cfc3..df42cdf 100644 --- a/users/jordan/graphical/default.nix +++ b/users/jordan/graphical/default.nix @@ -1,13 +1,19 @@ { + config, + lib, pkgs, ... }: { - imports = [ - ./firefox.nix - ./thunderbird.nix - ]; + imports = + [ + ./firefox.nix + ./thunderbird.nix + ] + ++ lib.optionals config.modules.system.desktop.gnome.enable [ + ./gnome.nix + ]; home.packages = with pkgs; [ # ardour diff --git a/users/jordan/graphical/gnome.nix b/users/jordan/graphical/gnome.nix new file mode 100644 index 0000000..55aae4a --- /dev/null +++ b/users/jordan/graphical/gnome.nix @@ -0,0 +1,242 @@ +{ + lib, + pkgs, + self, + ... +}: + +let + inherit (lib) + mkForce + ; + inherit (lib.generators) + toINI + ; +in +{ + dconf.settings = { + "io/github/celluloid-player/celluloid" = { + draggable-video-area-enable = true; + }; + "org/gnome/Console" = { + font-scale = 1.4; + use-system-font = false; + custom-font = "ComicShannsMono Nerd Font 10"; + }; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + cursor-theme = "Adwaita"; + enable-hot-corners = false; + font-name = "Adwaita Sans 11"; + gtk-theme = "adw-gtk3-dark"; + icon-theme = "MoreWaita"; + monospace-font-name = "Adwaita Mono 11"; + toolbar-style = "both-horiz"; + }; + "org/gnome/desktop/peripherals/touchpad" = { + tap-to-click = true; + }; + "org/gnome/desktop/sound" = { + theme-name = "freedesktop"; + }; + "org/gnome/desktop/search-providers" = { + disabled = [ "org.gnome.Epiphany.desktop" ]; + }; + "org/gnome/desktop/wm/keybindings" = { + switch-group = [ "grave" ]; + switch-group-backward = [ "grave" ]; + }; + "org/gnome/desktop/wm/preferences" = { + button-layout = "appmenu:close"; + }; + "org/gnome/gnome-session" = { + auto-save-session = true; + }; + "org/gnome/gnome-system-monitor" = { + show-dependencies = true; + }; + "org/gnome/mutter" = { + center-new-windows = true; + edge-tiling = true; + experimental-features = [ "scale-monitor-framebuffer" ]; + }; + "org/gnome/settings-daemon/plugins/media-keys" = { + volume-up = [ + "F12" + "XF86AudioRaiseVolume" + ]; + volume-down = [ + "F11" + "XF86AudioLowerVolume" + ]; + }; + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = [ + "appindicatorsupport@rgcjonas.gmail.com" + # "arcmenu@arcmenu.com" + "blur-my-shell@aunetx" + "burn-my-windows@schneegans.github.com" + "clipboard-indicator@tudmotu.com" + "CoverflowAltTab@palatis.blogspot.com" + # "dash-to-panel@jderose9.github.com" + # "desktop-cube@schneegans.github.com" + # "EasyScreenCast@iacopodeenosee.gmail.com" + "espresso@coadmunkee.github.com" + "flypie@schneegans.github.com" + # "forge@jmmaranan.com" + "gsconnect@andyholmes.github.io" + # "gSnap@micahosborne" + "hidetopbar@mathieu.bidon.ca" + "just-perfection-desktop@just-perfection" + # "mediacontrols@cliffniff.github.com" + # "mousefollowsfocus@matthes.biz" + # "pano@elhan.io" + # "paperwm@hedning:matrix.org" + "pip-on-top@rafostar.github.com" + # "search-light@icedman.github.com" + # "smart-auto-move@khimaros.com" + "space-bar@luchrioh" + # "tiling-assistant@leleat-on-github" + "tilingshell@ferrarodomenico.com" + "Vitals@CoreCoding.com" + "windowIsReady_Remover@nunofarruca@gmail.com" + # "worksets@blipk.xyz" + # "wsmatrix@martin.zurowietz.de" + ]; + favorite-apps = [ + "firefox.desktop" + "org.gnome.Nautilus.desktop" + ]; + }; + "org/gnome/shell/extensions/blur-my-shell/panel" = { + static-blur = true; + }; + "org/gnome/shell/extensions/blur-my-shell/applications" = { + blur = false; + }; + "org/gnome/shell/extensions/burn-my-windows" = { + fire-close-effect = false; + glide-open-effect = true; + glide-close-effect = true; + }; + "org/gnome/shell/extensions/dash-to-panel" = { + intellihide = true; + panel-positions = '' + {"0":"TOP"} + ''; + trans-panel-opacity = 0.3; + trans-use-custom-opacity = true; + trans-use-dynamic-opacity = true; + }; + "org/gnome/shell/extensions/espresso" = { + enable-fullscreen = true; + show-indicator = true; + show-notifications = false; + inhibit-apps = [ + "com.obsproject.Studio.desktop" + ]; + }; + "org/gnome/shell/extensions/flypie" = { + preview-on-right-side = true; + }; + "org/gnome/shell/extensions/forge" = { + window-gap-size = 8; + window-gap-hidden-on-single = false; + }; + "org/gnome/shell/extensions/hidetopbar" = { + mouse-sensitive = true; + mouse-sensitive-fullscreen-window = true; + enable-active-window = false; + }; + "org/gnome/shell/extensions/just-perfection" = { + activities-button = false; + window-demands-attention-focus = true; + workspace-wrap-around = true; + }; + "org/gnome/shell/extensions/paperwm" = { + use-default-background = true; + }; + "org/gnome/shell/extensions/pip-on-top" = { + stick = true; + }; + "org/gnome/shell/extensions/search-light" = { + popup-at-cursor-monitor = true; + }; + "org/gnome/shell/extensions/space-bar/behavior" = { + enable-activate-workspace-shortcuts = true; + show-empty-workspaces = true; + smart-workspace-names = false; + }; + "org/gnome/shell/extensions/tiling-assistant" = { + screen-top-gap = 8; + screen-right-gap = 8; + screen-bottom-gap = 8; + screen-left-gap = 8; + window-gap = 8; + }; + "org/gnome/shell/extensions/tilingshell" = { + inner-gaps = 16; + outer-gaps = 8; + enable-blur-snap-assistant = true; + }; + "org/gtk/settings/file-chooser" = { + show-hidden = true; + sort-directories-first = true; + }; + "org/gtk/gtk4/settings/file-chooser" = { + show-hidden = true; + sort-directories-first = true; + }; + }; + + environment.sessionVariables = { + QT_STYLE_OVERRIDE = mkForce "kvantum"; + QT_WAYLAND_DECORATION = mkForce "adwaita"; + }; + + home.configFile = { + "Kvantum/kvantum.kvconfig".text = toINI { } { + General.theme = "KvLibadwaitaDark"; + }; + "Kvantum/KvLibadwaita".source = "${self.inputs.kvlibadwaita}/src/KvLibadwaita"; + }; + + home.packages = + with pkgs; + [ + authenticator + # bottles + # bustle + celluloid + # d-spy + # drawing + # fragments + dconf-editor + ghex + ghostty + # gnome-builder + gnome-decoder + gnome-firmware + gnome-frog + # gnome-obfuscate + gnome-podcasts + identity + # mission-center + mousam + newsflash + # schemes + shortwave + sysprof + ] + ++ ( + if config.virtualisation.podman.enable then + [ + pods + ] + else + [ ] + ); + + home.services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3; +}