🎉📝 initialize v2
|  | @ -1,88 +0,0 @@ | |||
| { | ||||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   osConfig, | ||||
|   namespace, | ||||
|   ... | ||||
| }: with lib; with lib.${namespace}; | ||||
| let | ||||
|   cfg = config.${namespace}.desktop.gnome; | ||||
| in | ||||
| { | ||||
|   options.${namespace}.desktop.gnome = with types; { | ||||
|     enabled-extensions = mkOption { | ||||
|       type = listOf package; | ||||
|       default = with pkgs.gnomeExtensions; [ dash-to-dock user-themes blur-my-shell appindicator unite color-picker clipboard-history ]; | ||||
|       example = [ dash-to-dock blur-my-shell ]; | ||||
|       description = "Specify gnome extensions to install."; | ||||
|     }; | ||||
|     favorite-apps = mkOption { | ||||
|       type = listOf str; | ||||
|       default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "zen.desktop" "dev.zed.Zed.desktop"]; | ||||
|       example = ["org.gnome.Nautilus.desktop" "obsidian.desktop"]; | ||||
|       description = "Specify your favorite apps (sorted left to right)."; | ||||
|     }; | ||||
|     extensions = { | ||||
|       unite = { | ||||
|         show-window-buttons = mkOption { | ||||
|           type = str; | ||||
|           default = "never"; | ||||
|           example = "never | maximized | tiled | both | always"; | ||||
|           description = "Specify when Unite should display window buttons within the top panel."; | ||||
|         }; | ||||
|         hide-window-titlebars = mkOption { | ||||
|           type = str; | ||||
|           default = "maximized"; | ||||
|           example = "never | maximized | tiled | both | always"; | ||||
|           description = "Specify when Unite should hide window titlebars."; | ||||
|         }; | ||||
|       }; | ||||
|       blur-my-shell = { | ||||
|         enable-blur = mkOpt bool false "Whether to enable blur-my-shell application blur."; | ||||
|       }; | ||||
|     }; | ||||
|     wallpaper = mkOpt str (builtins.toString ./wallpapers/abstract/amber-d.jxl) "Specify the path of your prefered Gnome wallpaper."; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf osConfig.${namespace}.desktop.gnome.enable { | ||||
|     home.packages = cfg.enabled-extensions; | ||||
| 
 | ||||
|     dconf.settings = { | ||||
|       "org/gnome/shell" = { | ||||
|         favorite-apps = cfg.favorite-apps; | ||||
|         enabled-extensions = forEach cfg.enabled-extensions (x: x.extensionUuid); | ||||
|         disabled-extensions = []; # Make sure none of our extensions are disabled on system rebuild | ||||
|       }; | ||||
|       "org/gnome/shell/extensions/unite" = mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions) { | ||||
|         show-window-buttons = cfg.extensions.unite.show-window-buttons; | ||||
|         hide-window-titlebars = cfg.extensions.unite.hide-window-titlebars; | ||||
| 
 | ||||
|         use-activities-text = false; | ||||
|         extend-left-box = false; | ||||
|         reduce-panel-spacing = false; | ||||
|         show-legacy-tray = false; | ||||
|         show-appmenu-button = false; | ||||
|         show-desktop-name = false; | ||||
|         enable-titlebar-actions = false; | ||||
|         restrict-to-primary-screen = false; | ||||
|         hide-activities-button = "never"; | ||||
|         autofocus-windows = true; | ||||
|         notifications-position = "right"; | ||||
|       }; | ||||
|       "org/gnome/shell/extensions/blur-my-shell/applications" = mkIf cfg.extensions.blur-my-shell.enable-blur { | ||||
|         blur = true; | ||||
|         sigma = 30; | ||||
|         opacity = 230; | ||||
|         enable-all = true; | ||||
|       }; | ||||
|       "org/gnome/desktop/background" = { | ||||
|         picture-uri = cfg.wallpaper; | ||||
|         picture-uri-dark = cfg.wallpaper; | ||||
|       }; | ||||
|       "org/gnome/desktop/interface" = { | ||||
|         color-scheme = "prefer-dark"; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| Before Width: | Height: | Size: 166 KiB | 
| Before Width: | Height: | Size: 5 MiB | 
| Before Width: | Height: | Size: 620 KiB | 
| Before Width: | Height: | Size: 549 KiB | 
| Before Width: | Height: | Size: 554 KiB | 
| Before Width: | Height: | Size: 164 KiB | 
| Before Width: | Height: | Size: 4.1 MiB | 
| Before Width: | Height: | Size: 1.6 MiB | 
| Before Width: | Height: | Size: 118 KiB | 
| Before Width: | Height: | Size: 815 KiB | 
| Before Width: | Height: | Size: 3.3 MiB | 
| Before Width: | Height: | Size: 836 KiB | 
| Before Width: | Height: | Size: 2.7 MiB | 
| Before Width: | Height: | Size: 1.4 MiB | 
| Before Width: | Height: | Size: 1.4 MiB | 
| Before Width: | Height: | Size: 707 KiB | 
| Before Width: | Height: | Size: 22 KiB | 
| Before Width: | Height: | Size: 760 KiB | 
| Before Width: | Height: | Size: 3.3 MiB | 
| Before Width: | Height: | Size: 864 KiB | 
| Before Width: | Height: | Size: 1,013 KiB | 
| Before Width: | Height: | Size: 256 KiB | 
| Before Width: | Height: | Size: 1.7 MiB | 
| Before Width: | Height: | Size: 5 MiB |