mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-12-19 13:48:48 +00:00
53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
self,
|
|
config,
|
|
osConfig,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) mkIf;
|
|
inherit (self) namespace;
|
|
inherit (self.lib) mkOpt;
|
|
|
|
cfg = config.${namespace}.desktop.gnome;
|
|
in
|
|
{
|
|
options.${namespace}.desktop.gnome = with lib.types; {
|
|
enabled-extensions = mkOpt (listOf package) (with pkgs.gnomeExtensions; [
|
|
user-themes
|
|
blur-my-shell
|
|
appindicator
|
|
unite
|
|
color-picker
|
|
clipboard-history
|
|
]) "Specify gnome extensions to install.";
|
|
|
|
favorite-apps = mkOpt (listOf str) [
|
|
"org.gnome.Nautilus.desktop"
|
|
"firefox.desktop"
|
|
] "Specify your favorite apps (sorted left to right).";
|
|
|
|
wallpaper = mkOpt path ./wallpaper.jpg "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 = lib.forEach cfg.enabled-extensions (x: x.extensionUuid);
|
|
disabled-extensions = [ ]; # Make sure none of our extensions are disabled on system rebuild
|
|
};
|
|
"org/gnome/desktop/background" = {
|
|
picture-uri = "file://${cfg.wallpaper}";
|
|
picture-uri-dark = "file://${cfg.wallpaper}";
|
|
};
|
|
"org/gnome/desktop/interface" = {
|
|
color-scheme = "prefer-dark";
|
|
};
|
|
};
|
|
};
|
|
}
|