Project description
Pop Shell is a keyboard-driven layer for GNOME Shell which allows for quick and sensible navigation and management of windows. The core feature of Pop Shell is the addition of advanced tiling window management — a feature that has been highly-sought within our community. For many — ourselves included — i3wm has become the leading competitor to the GNOME desktop.
Metadata
Here is what I use, anyone is free to go ahead and merge this (or fix it):
{ stdenv, fetchFromGitHub, nodejs, nodePackages, glib }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-popshell";
version = "1.0.0";
src = fetchFromGitHub {
owner = "pop-os";
repo = "shell";
rev = "master_focal";
sha256 = "1ygqzmvh6fjl1yc9rxb9mmis7ywaxqfnx6hn3clhl4y3vv5f19gn";
};
nativeBuildInputs = [ nodePackages.typescript glib ];
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
}
I am pretty sure I saw that somewhere but cannot find other than:
Edit: It was here: https://discourse.nixos.org/t/making-gsettings-see-a-schema-from-a-derivation/6295
leaving this here while i work on it for myself. its running but by default a lot of its needed keys are clobbered. going to need some home-manager or nixos system dconf to work properly.
{ stdenv, fetchFromGitHub, nodejs, nodePackages, glib }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-pop-shell";
version = "2020-08-13";
src = fetchFromGitHub {
owner = "pop-os";
repo = "shell";
rev = "55c40ce66a5a51e83c083063a704372e18ca49e5";
sha256 = "1pv01jc85g1a3dbamcnvm9iwr03llxycnywx5p7ng04xyq5l6923";
};
uuid = "[email protected]";
nativeBuildInputs = [ glib nodePackages.typescript];
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
postInstall = ''
mkdir -p $out/share/gsettings-schemas/pop-shell-${version}/glib-2.0
schemadir=${glib.makeSchemaPath "$out" "${pname}-${version}"}
mkdir -p $schemadir
cp -r $out/share/gnome-shell/extensions/$uuid/schemas/* $schemadir
'';
meta = with stdenv.lib; {
description = "i3wm-like keyboard-driven layer for GNOME Shell";
homepage = "https://github.com/pop-os/shell";
license = licenses.gpl3;
maintainers = with maintainers; [ mog ];
platforms = platforms.linux;
};
}
hmm it doesnt seem to work with wayland so im not going to try it till they get that sorted
Most helpful comment
Here is what I use, anyone is free to go ahead and merge this (or fix it):