Skip to content
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

Closed
wants to merge 2 commits into from

Conversation

firmero
Copy link
Contributor

@firmero firmero commented May 1, 2020

Motivation for this change

A window tiling extension for Gnome.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@firmero firmero force-pushed the gnomeExtensions.gtile-init branch from 0a36f3c to 5fccbfa Compare May 2, 2020 14:03
@pbogdan
Copy link
Member

pbogdan commented May 2, 2020

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}"}
Copy link
Contributor

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?

Copy link
Contributor Author

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).

Copy link
Contributor

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).

Copy link
Contributor Author

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.

Copy link
Contributor Author

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 = ''
Copy link
Contributor

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.

Copy link
Contributor Author

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 ];
Copy link
Contributor

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.

Copy link
Contributor Author

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).

@stale
Copy link

stale bot commented Oct 30, 2020

I marked this as stale due to inactivity. → More info

@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Oct 30, 2020
cp -r $out/share/gnome-shell/extensions/$uuid/schemas/* $schemadir
'';

meta = with stdenv.lib; {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
meta = with stdenv.lib; {
meta = with lib; {

@stale stale bot removed the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 18, 2021
@piegamesde
Copy link
Member

Thank you for your work! However, the extension has already been packaged as of #118232, making this PR obsolete.

@piegamesde piegamesde closed this Jul 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants