diff options
author | Bobby Rong <rjl931189261@126.com> | 2023-04-26 11:11:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-26 11:11:24 +0800 |
commit | d9293111a90237a75717525413f8101f91708cf4 (patch) | |
tree | a7393a3252bd387983a57506508cf58e111447e1 /pkgs/desktops | |
parent | 304b0c534d5902612409630b1fde59c07de893b9 (diff) | |
parent | 45d0a21ce60a3a7b9a80a514b17496bd40d01a96 (diff) | |
download | nixlib-d9293111a90237a75717525413f8101f91708cf4.tar nixlib-d9293111a90237a75717525413f8101f91708cf4.tar.gz nixlib-d9293111a90237a75717525413f8101f91708cf4.tar.bz2 nixlib-d9293111a90237a75717525413f8101f91708cf4.tar.lz nixlib-d9293111a90237a75717525413f8101f91708cf4.tar.xz nixlib-d9293111a90237a75717525413f8101f91708cf4.tar.zst nixlib-d9293111a90237a75717525413f8101f91708cf4.zip |
Merge pull request #227526 from FedericoSchonborn/more-budgie
budgie: add plugin support, update default settings
Diffstat (limited to 'pkgs/desktops')
-rw-r--r-- | pkgs/desktops/budgie/budgie-analogue-clock-applet/default.nix | 44 | ||||
-rw-r--r-- | pkgs/desktops/budgie/budgie-desktop/default.nix | 4 | ||||
-rw-r--r-- | pkgs/desktops/budgie/budgie-desktop/plugins.patch | 66 | ||||
-rw-r--r-- | pkgs/desktops/budgie/budgie-desktop/wrapper.nix | 53 | ||||
-rw-r--r-- | pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix | 9 | ||||
-rw-r--r-- | pkgs/desktops/budgie/default.nix | 2 |
6 files changed, 173 insertions, 5 deletions
diff --git a/pkgs/desktops/budgie/budgie-analogue-clock-applet/default.nix b/pkgs/desktops/budgie/budgie-analogue-clock-applet/default.nix new file mode 100644 index 000000000000..798992886b9b --- /dev/null +++ b/pkgs/desktops/budgie/budgie-analogue-clock-applet/default.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, pkg-config +, vala +, budgie-desktop +, gtk3 +, libpeas +}: + +stdenv.mkDerivation rec { + pname = "budgie-analogue-clock-applet"; + version = "2.0"; + + src = fetchFromGitHub { + owner = "samlane-ma"; + repo = "analogue-clock-applet"; + rev = "v${version}"; + hash = "sha256-yId5bbdmELinBmZ5eISa5hQSYkeZCkix2FJ287GdcCs="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + budgie-desktop + gtk3 + libpeas + ]; + + meta = with lib; { + description = "Analogue Clock Applet for the Budgie desktop"; + homepage = "https://github.com/samlane-ma/analogue-clock-applet"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.federicoschonborn ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/budgie/budgie-desktop/default.nix b/pkgs/desktops/budgie/budgie-desktop/default.nix index 252f4cbd38d4..6c593206ac51 100644 --- a/pkgs/desktops/budgie/budgie-desktop/default.nix +++ b/pkgs/desktops/budgie/budgie-desktop/default.nix @@ -46,6 +46,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-ww65J9plixbxFza6xCfaz1WYtT9giKkLVH1XYxH41+0="; }; + patches = [ + ./plugins.patch + ]; + nativeBuildInputs = [ docbook-xsl-nons gtk-doc diff --git a/pkgs/desktops/budgie/budgie-desktop/plugins.patch b/pkgs/desktops/budgie/budgie-desktop/plugins.patch new file mode 100644 index 000000000000..af03fb635140 --- /dev/null +++ b/pkgs/desktops/budgie/budgie-desktop/plugins.patch @@ -0,0 +1,66 @@ +diff --git a/src/panel/plugin_manager.vala b/src/panel/plugin_manager.vala +index d3cdb65c..9d569bd1 100644 +--- a/src/panel/plugin_manager.vala ++++ b/src/panel/plugin_manager.vala +@@ -40,10 +40,26 @@ namespace Budgie { + } + + /* System path */ +- var dir = Environment.get_user_data_dir(); +- engine.add_search_path(Budgie.MODULE_DIRECTORY, Budgie.MODULE_DATA_DIRECTORY); ++ var libdir = Environment.get_variable("BUDGIE_PLUGIN_LIBDIR"); ++ if (libdir != null) { ++ debug("BUDGIE_PLUGIN_LIBDIR is set to %s", libdir); ++ } else { ++ debug("BUDGIE_PLUGIN_LIBDIR is unset, defaulting to %s", Budgie.MODULE_DIRECTORY); ++ libdir = Budgie.MODULE_DIRECTORY; ++ } ++ ++ var datadir = Environment.get_variable("BUDGIE_PLUGIN_DATADIR"); ++ if (datadir != null) { ++ debug("BUDGIE_PLUGIN_DATADIR is set to %s", datadir); ++ } else { ++ debug("BUDGIE_PLUGIN_DATADIR is unset, defaulting to %s", Budgie.MODULE_DATA_DIRECTORY); ++ datadir = Budgie.MODULE_DATA_DIRECTORY; ++ } ++ ++ engine.add_search_path(libdir, datadir); + + /* User path */ ++ var dir = Environment.get_user_data_dir(); + var user_mod = Path.build_path(Path.DIR_SEPARATOR_S, dir, "budgie-desktop", "plugins"); + var hdata = Path.build_path(Path.DIR_SEPARATOR_S, dir, "budgie-desktop", "data"); + engine.add_search_path(user_mod, hdata); +diff --git a/src/raven/plugin_manager.vala b/src/raven/plugin_manager.vala +index b0814693..d671109a 100644 +--- a/src/raven/plugin_manager.vala ++++ b/src/raven/plugin_manager.vala +@@ -51,10 +51,26 @@ namespace Budgie { + } + + /* System path */ +- var dir = Environment.get_user_data_dir(); +- engine.add_search_path(Budgie.RAVEN_PLUGIN_LIBDIR, Budgie.RAVEN_PLUGIN_DATADIR); ++ var libdir = Environment.get_variable("RAVEN_PLUGIN_LIBDIR"); ++ if (libdir != null) { ++ debug("RAVEN_PLUGIN_LIBDIR is set to %s", libdir); ++ } else { ++ debug("RAVEN_PLUGIN_LIBDIR is unset, defaulting to %s", Budgie.RAVEN_PLUGIN_LIBDIR); ++ libdir = Budgie.RAVEN_PLUGIN_LIBDIR; ++ } ++ ++ var datadir = Environment.get_variable("RAVEN_PLUGIN_DATADIR"); ++ if (datadir != null) { ++ debug("RAVEN_PLUGIN_DATADIR is set to %s", datadir); ++ } else { ++ debug("RAVEN_PLUGIN_DATADIR is unset, defaulting to %s", Budgie.RAVEN_PLUGIN_DATADIR); ++ datadir = Budgie.RAVEN_PLUGIN_DATADIR; ++ } ++ ++ engine.add_search_path(libdir, datadir); + + /* User path */ ++ var dir = Environment.get_user_data_dir(); + var user_mod = Path.build_path(Path.DIR_SEPARATOR_S, dir, "budgie-desktop", "raven-plugins"); + var hdata = Path.build_path(Path.DIR_SEPARATOR_S, dir, "budgie-desktop", "raven-data"); + engine.add_search_path(user_mod, hdata); diff --git a/pkgs/desktops/budgie/budgie-desktop/wrapper.nix b/pkgs/desktops/budgie/budgie-desktop/wrapper.nix new file mode 100644 index 000000000000..88c8d132bf12 --- /dev/null +++ b/pkgs/desktops/budgie/budgie-desktop/wrapper.nix @@ -0,0 +1,53 @@ +{ lib +, stdenv +, glib +, xorg +, wrapGAppsHook +, budgie-desktop +, plugins ? [] +}: + +stdenv.mkDerivation { + pname = "${budgie-desktop.pname}-with-plugins"; + inherit (budgie-desktop) version; + + src = null; + + paths = [ + budgie-desktop + ] ++ plugins; + + passAsFile = [ "paths" ]; + + nativeBuildInputs = [ + glib + wrapGAppsHook + ]; + + buildInputs = lib.forEach plugins (plugin: plugin.buildInputs) ++ plugins; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + preferLocalBuild = true; + allowSubstitutes = false; + + installPhase = '' + mkdir -p $out + for i in $(cat $pathsPath); do + ${xorg.lndir}/bin/lndir -silent $i $out + done + ''; + + preFixup = '' + gappsWrapperArgs+=( + --set BUDGIE_PLUGIN_LIBDIR "$out/lib/budgie-desktop/plugins" + --set BUDGIE_PLUGIN_DATADIR "$out/share/budgie-desktop/plugins" + --set RAVEN_PLUGIN_LIBDIR "$out/lib/budgie-desktop/raven-plugins" + --set RAVEN_PLUGIN_DATADIR "$out/share/budgie-desktop/raven-plugins" + ) + ''; + + inherit (budgie-desktop) meta; +} diff --git a/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix b/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix index c9e2632b62f9..6516498dea89 100644 --- a/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix +++ b/pkgs/desktops/budgie/budgie-gsettings-overrides/default.nix @@ -31,24 +31,23 @@ let 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-menu:Budgie] + use-default-menu-icon=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"] + pinned-launchers=["nemo.desktop", "firefox.desktop", "vlc.desktop"] [org.buddiesofbudgie.budgie-desktop-view:Budgie] show=true - click-policy="double" + show-active-mounts=true terminal="${mate.mate-terminal}/bin/mate-terminal" ${extraGSettingsOverrides} diff --git a/pkgs/desktops/budgie/default.nix b/pkgs/desktops/budgie/default.nix index 24a461a16703..8c49ac5b0234 100644 --- a/pkgs/desktops/budgie/default.nix +++ b/pkgs/desktops/budgie/default.nix @@ -1,10 +1,12 @@ { lib, pkgs }: lib.makeScope pkgs.newScope (self: with self; { + budgie-analogue-clock-applet = callPackage ./budgie-analogue-clock-applet { }; budgie-backgrounds = callPackage ./budgie-backgrounds { }; budgie-control-center = callPackage ./budgie-control-center { }; budgie-desktop = callPackage ./budgie-desktop { }; budgie-desktop-view = callPackage ./budgie-desktop-view { }; + budgie-desktop-with-plugins = callPackage ./budgie-desktop/wrapper.nix { }; budgie-gsettings-overrides = callPackage ./budgie-gsettings-overrides { }; budgie-screensaver = callPackage ./budgie-screensaver { }; }) |