diff --git a/provision/modules/desktop/gnome.nix b/provision/modules/desktop/gnome.nix index 4c89236c..bb1852ec 100644 --- a/provision/modules/desktop/gnome.nix +++ b/provision/modules/desktop/gnome.nix @@ -27,6 +27,7 @@ in { gnomeExtensions.alphabetical-app-grid # Alphabetically order the app grid and folders gnome-fullscreen-to-empty-workspace # New, maximized and fullscreen windows will be moved to empty workspaces gnome-set-panel-monitor # Set monitor for panel to appear on + stacks-in-gnome # TBD gnome-randr # Xrandr-like CLI for configuring displays on GNOME/Wayland ftw # Build custom ftl wallpapers in a complicated way for no reason ]; @@ -127,6 +128,7 @@ in { "gnome-set-panel-monitor@tstarr.us" "custom-hot-corners-extended@G-dH.github.com" "AlphabeticalAppGrid@stuarthayhurst" + "stacks-in-gnome@tstarr.us" ]; }; "org/gnome/shell/app-switcher" = { diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index 3ad623e4..053abb96 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -3,6 +3,7 @@ final: prev: { ftw = final.callPackage ../pkgs/ftw.nix {}; gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace/default.nix {}; gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {}; + stacks-in-gnome = final.callPackage ../pkgs/stacks-in-gnome.nix {}; nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {}; pySVS = final.callPackage ../pkgs/pySVS.nix {}; ryujinx = final.callPackage ../pkgs/ryujinx/default.nix {}; diff --git a/provision/pkgs/stacks-in-gnome.nix b/provision/pkgs/stacks-in-gnome.nix new file mode 100644 index 00000000..e1ccc5d1 --- /dev/null +++ b/provision/pkgs/stacks-in-gnome.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation { + pname = "stacks-in-gnome"; + version = "git-2025-01-10"; + + src = fetchFromGitHub { + owner = "starr-dusT"; + repo = "gnome-shell-extension-stacks-in-gnome"; + rev = "dbd3edd8134f3331a60f45f44a9bdec4af9beefe"; + hash = "sha256-RbidDs9de2BLxZaPp4TVY6AYGKZKXeLioTHFCcvVF2Q="; + }; + + installPhase = '' + runHook preInstall + mkdir -p "$out/share/gnome-shell/extensions/stacks-in-gnome@tstarr.us" + cp -r * "$out/share/gnome-shell/extensions/stacks-in-gnome@tstarr.us" + runHook postInstall + ''; + + passthru = { + extensionUuid = "stacks-in-gnome@tstarr.us"; + extensionPortalSlug = "stacks-in-gnome"; + }; + + meta = with lib; { + description = ""; + maintainers = with maintainers; [ starr-dusT ]; + homepage = "https://github.com/starr-dusT/gnome-shell-extension-stacks-in-gnome"; + }; +}