diff --git a/pkgs/desktops/gnome-3/extensions/impatience.nix b/pkgs/desktops/gnome-3/extensions/impatience.nix new file mode 100644 index 00000000000..d82ff652bd0 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/impatience.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation rec { + name = "gnome-shell-impatience-${version}"; + version = "6564c21e4caf4a6bc5fe2bf21116d7c15408d494"; + + src = fetchFromGitHub { + owner = "timbertson"; + repo = "gnome-shell-impatience"; + rev = version; + sha256 = "10zyj42i07dcvaciv47qgkcs5g5n2bpc8a0m6fsimfi0442iwlcn"; + }; + + buildInputs = [ + glib + ]; + + buildPhase = '' + make schemas + ''; + + installPhase = '' + cp -r impatience $out + ''; + + uuid = "impatience@gfxmonk.net"; + + meta = with stdenv.lib; { + description = "Speed up builtin gnome-shell animations"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ aneeshusa timbertson ]; + homepage = http://gfxmonk.net/dist/0install/gnome-shell-impatience.xml; + }; +} diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor.nix b/pkgs/desktops/gnome-3/extensions/system-monitor.nix new file mode 100644 index 00000000000..f9b13df7f76 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/system-monitor.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation rec { + name = "gnome-shell-system-monitor-${version}"; + version = "8b31f070e9e59109d729661ced313d6a63e31787"; + + src = fetchFromGitHub { + owner = "paradoxxxzero"; + repo = "gnome-shell-system-monitor-applet"; + rev = version; + sha256 = "0fm5zb6qp53jjy2mnkb8ybxygzjwpb314giiq0ywq87hhrpch8m3"; + }; + + buildInputs = [ + glib + ]; + + buildPhase = '' + ${glib}/bin/glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas + ''; + + installPhase = '' + cp -r ${uuid} $out + ''; + + uuid = "system-monitor@paradoxxx.zero.gmail.com"; + + meta = with stdenv.lib; { + description = "Display system informations in gnome shell status bar"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ aneeshusa ]; + homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet; + }; +} diff --git a/pkgs/desktops/gnome-3/extensions/volume-mixer.nix b/pkgs/desktops/gnome-3/extensions/volume-mixer.nix new file mode 100644 index 00000000000..845d21f5219 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/volume-mixer.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation rec { + name = "gnome-shell-volume-mixer-${version}"; + version = "844ed80ad448855d8f6218847183a80474b523c7"; + + src = fetchFromGitHub { + owner = "aleho"; + repo = "gnome-shell-volume-mixer"; + rev = version; + sha256 = "1vcj2spbymhdi1nazvhldvcfgad23r3h7f0ihh4nianbxn7hjs9w"; + }; + + buildInputs = [ + glib + ]; + + buildPhase = '' + ${glib}/bin/glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas + ''; + + installPhase = '' + cp -r ${uuid} $out + ''; + + uuid = "shell-volume-mixer@derhofbauer.at"; + + meta = with stdenv.lib; { + description = "GNOME Shell Extension allowing separate configuration of PulseAudio devices"; + license = licenses.gpl2; + maintainers = with maintainers; [ aneeshusa ]; + homepage = https://github.com/aleho/gnome-shell-volume-mixer; + }; +} diff --git a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix b/pkgs/desktops/gnome-3/extensions/workspace-grid.nix new file mode 100644 index 00000000000..10aee5cafe6 --- /dev/null +++ b/pkgs/desktops/gnome-3/extensions/workspace-grid.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation rec { + name = "gnome-shell-workspace-grid-${version}"; + version = "0f3a430e7d04bb5465a17c1225aab0f574426d6b"; + + src = fetchFromGitHub { + owner = "zakkak"; + repo = "workspace-grid-gnome-shell-extension"; + rev = version; + sha256 = "0503b7lmydrbblfvf9b56pv5hpmykzgyc6v8y99rckg58h2jhs69"; + }; + + buildInputs = [ + glib + ]; + + installPhase = '' + cp -r ${uuid} $out + ''; + + uuid = "workspace-grid@mathematical.coffee.gmail.com"; + + meta = with stdenv.lib; { + description = "Arranges workspaces in a configurable grid"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ aneeshusa ]; + homepage = https://github.com/zakkak/workspace-grid-gnome-shell-extension; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c44b581dd1e..a02bd4a3da6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15354,7 +15354,14 @@ in gnome3_18 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.18 { }); - gnome3 = self.gnome3_18; + gnome3 = self.gnome3_18 // { + shellExtensions = { + impatience = callPackage ../desktops/gnome-3/extensions/impatience.nix {}; + system-monitor = callPackage ../desktops/gnome-3/extensions/system-monitor.nix {}; + volume-mixer = callPackage ../desktops/gnome-3/extensions/volume-mixer.nix {}; + workspace-grid = callPackage ../desktops/gnome-3/extensions/workspace-grid.nix {}; + }; + }; gnome = recurseIntoAttrs self.gnome2;