about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/desktops/gnome-3/extensions/arc-menu/default.nix33
-rw-r--r--pkgs/desktops/gnome-3/extensions/arc-menu/fix_gmenu.patch12
-rw-r--r--pkgs/top-level/all-packages.nix1
4 files changed, 52 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 7298ed804bbf..ff88c717c253 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1633,6 +1633,12 @@
     githubId = 10913120;
     name = "Dje4321";
   };
+  dkabot = {
+    email = "dkabot@dkabot.com";
+    github = "dkabot";
+    githubId = 1316469;
+    name = "Naomi Morse";
+  };
   dmalikov = {
     email = "malikov.d.y@gmail.com";
     github = "dmalikov";
diff --git a/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix b/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix
new file mode 100644
index 000000000000..b38f0aeba919
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/arc-menu/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-arc-menu";
+  version = "31";
+
+  src = fetchFromGitLab {
+    owner = "LinxGem33";
+    repo = "Arc-Menu";
+    rev = "v${version}-stable";
+    sha256 = "124jgdy6mw76nrkq3f0y7qkhdm39wg273zifdvwbgpvirwzxbia1";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix_gmenu.patch;
+      gmenu_path = "${gnome-menus}/lib/girepository-1.0";
+    })
+  ];
+
+  buildInputs = [
+    glib gettext
+  ];
+
+  makeFlags = [ "INSTALL_BASE=$(out)/share/gnome-shell/extensions" ];
+
+  meta = with stdenv.lib; {
+    description = "Gnome shell extension designed to replace the standard menu found in Gnome 3";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ dkabot ];
+    homepage = https://gitlab.com/LinxGem33/Arc-Menu;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/extensions/arc-menu/fix_gmenu.patch b/pkgs/desktops/gnome-3/extensions/arc-menu/fix_gmenu.patch
new file mode 100644
index 000000000000..7f6b8489ea8b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/arc-menu/fix_gmenu.patch
@@ -0,0 +1,12 @@
+--- a/extension.js
++++ b/extension.js
+@@ -29,6 +29,8 @@
+  * https://github.com/The-Panacea-Projects/Gnomenu
+  */
+ 
++
++imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@');
+ 
+ // Import Libraries
+ const Main = imports.ui.main;
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b4a9c68c1fe4..4eec048da27a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -22649,6 +22649,7 @@ in
 
   gnomeExtensions = recurseIntoAttrs {
     appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { };
+    arc-menu = callPackage ../desktops/gnome-3/extensions/arc-menu { };
     battery-status = callPackage ../desktops/gnome-3/extensions/battery-status { };
     caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { };
     clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { };