The gtk-query-immodules-{2,3}.0 util writes argv[0] to its stdout
in a comment (i.e., "# Created by ..."). This results in a reference to
pkgs.gtk{2,3}.dev being present in the closure.
This commit avoids this issue by adding the pkgs.gtk{2,3}.dev to path
and calling gtk-query-immodules-{2,3}.0 without its full path.
Furthermore, pkgs.gtk{2,3}.dev is added to disallowedReferences to avoid
future regressions.
With this option GTK_IM_MODULE and QT_IM_MODULE env vars are not set.
This is recommended by some popular Linux distributions. For instance,
this will move IME candidate pane next to input field instead of on top
of it in Firefox on GNOME, so you can see what you type.
ibus on KDE should not be started automatically in this fashion,
ibus will pop up an obtrusive notification on start
asking to be added to KDE's virtual keyboard setting
instead.
If the gtk2 and gtk3 are moved to `nativeBuildInputs` then this happens
```
Cannot load module /nix/store/sn268l2xkdvkvagq1r35xy9071zns4hx-ibus-with-plugins-1.5.32/lib/gtk-3.0/3.0.0/immodules/im-ibus.so: /nix/store/sn268l2xkdvkvagq1r35xy9071zns4hx-ibus-with-plugins-1.5.32/lib/gtk-3.0/3.0.0/immodules/im-ibus.so: cannot open shared object file: No such file or directory
> /nix/store/sn268l2xkdvkvagq1r35xy9071zns4hx-ibus-with-plugins-1.5.32/lib/gtk-3.0/3.0.0/immodules/im-ibus.so does not export GTK+ IM module API: /nix/store/sn268l2xkdvkvagq1r35xy9071zns4hx-ibus-with-plugins-1.5.32/lib/gtk-3.0/3.0.0/immodules/im-ibus.so: cannot open shared object file: No such file or directory
```
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.
Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.
A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.
This commit was automatically created and can be verified using
nix-build https://github.com/infinisil/treewide-nixpkgs-reformat-script/archive/a08b3a4d199c6124ac5b36a889d9099b4383463f.tar.gz \
--argstr baseRev b32a094368
result/bin/apply-formatting $NIXPKGS_PATH
This commit introduces two new properties:
`enable` and `type`, to replace the `enabled` property.
`enable` has the same meaning as is common across nixpkgs.
`type` has the same meaning as the existing `enabled` property.
`enabled` property is now deprecated and will be removed in a future release.
Fixes#180654
when setting the option i18n.inputMethod.ibus.engines to a non-engine, like this:
i18n.inputMethod.ibus.engines = [ pkgs.sl ];
the error message would be quite misleading:
error: A definition for option `nodes.machine.i18n.inputMethod.ibus.engines."[definition 1-entry 1]"' is not of type `package'. Definition values:
- In `makeTest parameters': <derivation sl-5.05>
sl is rejected and yet it *is* a package.
This change improves the error message to this:
error: A definition for option `nodes.machine.i18n.inputMethod.ibus.engines."[definition 1-entry 1]"' is not of type `ibus-engine'. Definition values:
- In `makeTest parameters': <derivation sl-5.05>
these changes were generated with nixq 0.0.2, by running
nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix
two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.
Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.