-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
pop-os-shell: init at 1.1.0 #104160
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pop-os-shell: init at 1.1.0 #104160
Conversation
1cc77b6
to
5cb0c96
Compare
5cb0c96
to
27407bf
Compare
aeaa714
to
38f1bd9
Compare
|
||
meta = with stdenv.lib; { | ||
description = "Keyboard-driven layer for GNOME Shell"; | ||
license = licenses.gpl3; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpl3
is unclear, use gpl3Plus
or gpl3Only
. See https://discourse.nixos.org/t/lib-licenses-gpl3-co-are-now-deprecated/8206 for more details.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not entirely sure, which version to use. The license can be found here: https://github.com/pop-os/shell/blob/master/LICENSE. Also on the web i could not really identify what the difference is between gpl3-only and gpl3+. Can you tell me what we have here? @jtojnar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Usually, the precise license is listed in README, but that is not the case here. Try asking on the upstream issue tracker. Example: rime/ibus-rime#107
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The license is here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is just license terms, it needs to be explicitly specified whether the copyright owner allows using latter versions of the license, see the GNU links in the Discourse threads.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC if not listed explicitly it should be GPL3 only, shouldn't it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that is all that can be inferred without any more info. Though people often intend -or-later
so it does not hurt to ask.
38f1bd9
to
523fb0c
Compare
This looks like it might be a duplicate of #102150 |
Oh, right. I was certain that we already had a PR open but could not find it with GitHub search 🤷♀️ |
|
||
nativeBuildInputs = [ glib nodePackages.typescript ]; | ||
|
||
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one is nicer in that it does not abuse DESTDIR
.
Oh, neat to see someone get around to packaging this! I've had a commit sitting around waiting for a 1.0 release that might help a bit - I see this doesn't install the glib schema or set the uuid like other gnome extensions. Also, it might be nice to also package Here's my commit for |
@maxeaubrey Looking at the source code, it should install schemas: https://github.com/pop-os/shell/blob/1.0.0/Makefile#L74 |
@maxeaubrey I had uuid set first, but i was advised to remove it if it is unnecessary. |
523fb0c
to
f20b2c3
Compare
f20b2c3
to
c3612da
Compare
I would recommend submitting patches upstream for locating the system path if the default GLib subprocess launcher can't find the binaries in your system path. You may add additional search paths with a subprocess launcher. There are a couple areas in Pop Shell that call out gjs, including some of the default plugins which are gjs scripts. |
@mmstick The point of Nix is that there is not system path – every package is self-contained and hardcodes paths to everything it needs (in theory anyway). For some things like script shebangs, we have tooling that hardcodes the correct path but for |
The code that manually calls upon |
I've found another issue, although I'm not sure if it's maybe only on my end: |
This one is probably due to using Wayland where this is not supported upstream. |
@jtojnar I will have a look at that later that day, but I am not sure whether I am capable enough. I'll let you know. Do I understand it right that the current approach is to create a patch that puts the shebang #!/usr/bin/env gjs in every file that needs it and then somehow modify the way those files are called? @ymarkus that works for me. |
@remunds Yes, that is correct. The files need to be invoked as scripts. Also, for that to work, you will need to make them executable if they are not already. |
I'll give that a try, thanks :) |
I was able to get the "floating window exception"-window with the other approach though. |
Now its just the active hint color that doesn't work. Does anyone have an idea? |
I've been using this for a few weeks now (updated to 1.2.0 though) on NixOS 20.09 under GNOME 3.36.5 Wayland and apart from the known upstream Wayland wonkiness, this actually works quite nicely. |
Tangentially related in case anyone is interested: https://blog.system76.com/post/648371526931038208/cosmic-to-arrive-in-june-release-of-popos-2104 https://github.com/pop-os/cosmic It has pop-shell as a dependency. |
{ stdenv, fetchFromGitHub, nodePackages, glib, substituteAll, gjs }: | ||
|
||
stdenv.mkDerivation rec { | ||
pname = "pop-os-shell"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙋 Having looked inside pkgs/desktops/gnome-3/extensions
, it appears all extensions are prefixed with gnome-shell-extension-
, what are your thoughts on renaming?
pname = "pop-os-shell"; | |
pname = "gnome-shell-extension-pop-os-shell"; |
I marked this as stale due to inactivity. → More info |
Solved in #147542 - i believe we could close this PR now. |
Motivation for this change
pop-os-shell version 1.0.0 was released 20 days ago. Now it's time to be a package :)
This is my first pr, so please tell me, if something is wrong :)
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)