From 3858cfc206b5bcf8ed1d7420adfcc58dd387b0ec Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 21 Apr 2024 19:28:55 -0700 Subject: [PATCH] first derivation of gnome plugin. Very happy! --- provision/modules/desktop/gnome.nix | 1 + provision/overlays/default.nix | 1 + provision/pkgs/gnome-set-panel-monitor.nix | 41 ++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 provision/pkgs/gnome-set-panel-monitor.nix diff --git a/provision/modules/desktop/gnome.nix b/provision/modules/desktop/gnome.nix index f0de8554..c34c1129 100644 --- a/provision/modules/desktop/gnome.nix +++ b/provision/modules/desktop/gnome.nix @@ -31,6 +31,7 @@ in { gnome.gnome-tweaks # Utility for customizing various aspects of the GNOME desktop environment. gnomeExtensions.focus-changer # GNOME Shell extension for changing window focus behavior. evolution # Personal information management application that provides email, calendar, and contact management features. + gnome-set-panel-monitor #gnomeExtensions.fullscreen-avoider # TODO: Add back when fixed upstream ]; diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index 8bf856e6..056cdb1c 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -9,4 +9,5 @@ final: prev: { nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {}; yuzu-archive = final.libsForQt5.callPackage ../pkgs/yuzu-archive.nix {}; citra-archive = final.qt6Packages.callPackage ../pkgs/citra-archive.nix {}; + gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {}; } diff --git a/provision/pkgs/gnome-set-panel-monitor.nix b/provision/pkgs/gnome-set-panel-monitor.nix new file mode 100644 index 00000000..3127a6cc --- /dev/null +++ b/provision/pkgs/gnome-set-panel-monitor.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation { + pname = "gnome-set-panel-monitor"; + version = "git-2024-04-11"; + + src = fetchFromGitHub { + owner = "starr-dusT"; + repo = "gnome-set-panel-monitor"; + rev = "b1dadb63c153cb9e1c546eb1d151b169d4c05e39"; + hash = "sha256-iHLd4TYgpTxwrPnfx80H+JGV8SpP1wrGgRPPnMyaUaA="; + }; + + buildInputs = [ + glib + ]; + + buildPhase = '' + runHook preBuild + make schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p "$out/share/gnome-shell/extensions/gnome-set-panel-monitor@tstarr.us" + cp -r * "$out/share/gnome-shell/extensions/gnome-set-panel-monitor@tstarr.us" + runHook postInstall + ''; + + passthru = { + extensionUuid = "gnome-set-panel-monitor@tstarr.us"; + extensionPortalSlug = "gnome-set-panel-monitor"; + }; + + meta = with lib; { + description = "Set monitor for panel to appear on."; + maintainers = with maintainers; [ starr-dusT ]; + homepage = "https://github.com/starr-dusT/gnome-set-panel-monitor"; + }; +}