-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
gnomeExtensions.gtile: init at 34 #86451
Conversation
4450b4a
to
ca99bc5
Compare
0a36f3c
to
5fccbfa
Compare
A window tiling extension for Gnome.
5fccbfa
to
2f397e9
Compare
LGTM, only remaining suggestion I have would be to re-order the commits so that the maintainers entry is created first. Other than that I'll defer to @worldofpeace and @jtojnar our resident GNOME gurus (who hopefully don't mind me to summoning them directly). |
mkdir -p $out/share/gnome-shell/extensions/$uuid | ||
cp -r * $out/share/gnome-shell/extensions/$uuid | ||
|
||
schemadir=${glib.makeSchemaPath "$out" "${pname}-${version}"} |
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.
Do the schemas installed to the extension directory as done on the first line not work?
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.
They work in the way that i can see extension settings from Extensions app but cannot see them if I run dconf-editor. If i copy schemas to schemadir and add extension package to services.xserver.desktopManager.gnome3.sessionPath list, then it works (that schemadir is appended in variable XDG_DATA_DIR).
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.
Yeah, I do not think the schemas of extensions are expected to be seen in dconf editor. And I am still not sure if dconf-editor is even compatible with Nix (since it relies on global data like sessionPath
).
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.
From description of sessionPath
option:
Additional list of packages to be added to the session search path. Useful for GNOME Shell extensions or GSettings-conditional autostart. Note that this should be a last resort; patching the package is preferred (see GPaste).
I've took a look at gpaste and been inspirited with usage of glib.makeSchemaPath
.
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.
My motivation was to get option names using dconf-editor, without looking at the xml schema of extension.
|
||
nativeBuildInputs = [ glib ]; | ||
|
||
installPhase = '' |
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.
When overriding installPhase
, you should also provide runHook preInstall
and runHook postInstall
. Though, in this case, it is better to rely on the default installPhase
.
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 just used the same approach which is used is another extensions within gnome-3 extensions directory. In general, i think that nix files in that directory should be refactored, to look consistent.
|
||
uuid = "gTile@vibou"; | ||
|
||
nativeBuildInputs = [ glib ]; |
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.
Does not seem to be used.
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.
yeah, is see, glib is used only in ${glib.makeSchemaPath}
expression and there is no internal usage of glib (e.g. glib-compile-schemas usage while Makefile target producing).
I marked this as stale due to inactivity. → More info |
cp -r $out/share/gnome-shell/extensions/$uuid/schemas/* $schemadir | ||
''; | ||
|
||
meta = with stdenv.lib; { |
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.
meta = with stdenv.lib; { | |
meta = with lib; { |
Thank you for your work! However, the extension has already been packaged as of #118232, making this PR obsolete. |
Motivation for this change
A window tiling extension for Gnome.
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)