Nixpkgs: Package request: Pop shell (Pop!_OS's tiling windows manager extension for GNOME shell)

Created on 9 Jul 2020  Â·  4Comments  Â·  Source: NixOS/nixpkgs

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

packaging request GNOME

Most helpful comment

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" ];
}

All 4 comments

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" ];
}

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

domenkozar picture domenkozar  Â·  3Comments

ob7 picture ob7  Â·  3Comments

yawnt picture yawnt  Â·  3Comments

chris-martin picture chris-martin  Â·  3Comments

lverns picture lverns  Â·  3Comments