diff --git a/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix b/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix new file mode 100644 index 00000000000..c9e2632b62f --- /dev/null +++ b/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix @@ -0,0 +1,78 @@ +{ lib +, runCommand +, budgie-desktop +, budgie-desktop-view +, glib +, gnome +, gsettings-desktop-schemas +, mate +, nixos-artwork +, nixos-background-light ? nixos-artwork.wallpapers.nineish +, nixos-background-dark ? nixos-artwork.wallpapers.nineish-dark-gray +, extraGSettingsOverrides ? "" +, extraGSettingsOverridePackages ? [] +}: + +let + inherit (lib) concatMapStringsSep; + + gsettingsOverrides = '' + [org.gnome.desktop.background:Budgie] + picture-uri="file://${nixos-background-light.gnomeFilePath}" + picture-uri-dark="file://${nixos-background-dark.gnomeFilePath}" + + [org.gnome.desktop.screensaver:Budgie] + picture-uri="file://${nixos-background-dark.gnomeFilePath}" + + [org.gnome.desktop.interface:Budgie] + gtk-theme="Qogir" + icon-theme="Qogir" + cursor-theme="Qogir" + font-name="Noto Sans 10" + document-font-name="Noto Sans 10" + monospace-font-name="Hack 10" + enable-hot-corners=true + + [org.gnome.desktop.wm.preferences:Budgie] + titlebar-font="Noto Sans Bold 10" + + [org.gnome.mutter:Budgie] + workspaces-only-on-primary=true + + [com.solus-project.budgie-panel:Budgie] + dark-theme=false + builtin-theme=false + + [com.solus-project.icon-tasklist:Budgie] + pinned-launchers=["nemo.desktop", "vlc.desktop", "mate-terminal.desktop"] + + [org.buddiesofbudgie.budgie-desktop-view:Budgie] + show=true + click-policy="double" + terminal="${mate.mate-terminal}/bin/mate-terminal" + + ${extraGSettingsOverrides} + ''; + + gsettingsOverridePackages = [ + budgie-desktop + budgie-desktop-view + gsettings-desktop-schemas + gnome.mutter + ] ++ extraGSettingsOverridePackages; + +in + runCommand "budgie-gsettings-overrides" { preferLocalBuild = true; } '' + data_dir="$out/share/gsettings-schemas/nixos-gsettings-overrides" + schema_dir="$data_dir/glib-2.0/schemas" + mkdir -p "$schema_dir" + + ${concatMapStringsSep "\n" (pkg: "cp -rf \"${glib.getSchemaPath pkg}\"/*.xml \"${glib.getSchemaPath pkg}\"/*.gschema.override \"$schema_dir\"") gsettingsOverridePackages} + + chmod -R a+w "$data_dir" + cat - > "$schema_dir/zz-nixos-defaults.gschema.override" <<- EOF + ${gsettingsOverrides} + EOF + + ${glib.dev}/bin/glib-compile-schemas --strict "$schema_dir" + '' diff --git a/pkgs/desktops/budgie/default.nix b/pkgs/desktops/budgie/default.nix index 9d6ede5595b..24a461a1670 100644 --- a/pkgs/desktops/budgie/default.nix +++ b/pkgs/desktops/budgie/default.nix @@ -5,5 +5,6 @@ lib.makeScope pkgs.newScope (self: with self; { budgie-control-center = callPackage ./budgie-control-center { }; budgie-desktop = callPackage ./budgie-desktop { }; budgie-desktop-view = callPackage ./budgie-desktop-view { }; + budgie-gsettings-overrides = callPackage ./budgie-gsettings-overrides { }; budgie-screensaver = callPackage ./budgie-screensaver { }; })