Commit graph

32 commits

Author SHA1 Message Date
Thiago Kenji Okada
3de857fa7d qt: fix qt.platformTheme = "gtk3" 2023-11-20 20:33:29 +00:00
Thiago Kenji Okada
fff5204e5d qt: fix basic usage when just qt.enable = true is set 2023-11-19 12:39:53 +00:00
Thiago Kenji Okada
1160454c79 qt: support gtk3 platform theme
This theme is part of qtbase and requires no extra packages.

Co-authored-by: novenary <novenary@kwak.zip>
2023-10-22 20:09:22 +01:00
Thiago Kenji Okada
1e80a0b3d8 qt: allow usage without setting platformTheme 2023-10-22 20:09:22 +01:00
Thiago Kenji Okada
55eee5bd67 qt: use sessionVariablesExtra to export QT_PLUGIN_PATH/QML2_IMPORT_PATH 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
eaee696b6e qt: simplify style.name mappings 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
bc53e4c240 qt: add qgnomeplatform-qt6 when platformTheme is set to gnome 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
541d32d8b8 qt: add support for platformTheme lxqt 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
4ba652d8a8 qt: add style mappings for Qt 6 2023-10-18 18:00:45 +01:00
Thiago Kenji Okada
3452e14ec7 qt: workaround issue when i18n.inputMethod.enabled = 'fcitx5' 2023-10-18 16:17:32 +01:00
Thiago Kenji Okada
4b2d3b03be qt: remove top-level with lib 2023-10-18 13:30:44 +01:00
Thiago Kenji Okada
5744ebf359 qt: export QT_PLUGIN_PATH/QML2_IMPORT_PATH
Those 2 variables are necessary to make e.g.: qt6ct work correctly.

See issue: https://github.com/NixOS/nixpkgs/issues/239909.
2023-10-18 13:15:56 +01:00
Thiago Kenji Okada
b4ea37c633 qt: remove remaining Qt 4 support
Qt 4 was removed from nixpkgs so it doesn't make sense to support it
anymore.
2023-10-18 11:58:05 +01:00
Federico Rampazzo
1d813ff5a6
qt: remove qtstyleplugin-kvantum-qt4
The package qtstyleplugin-kvantum-qt4 has been removed, because it
depended on qt4.
2023-09-29 00:02:35 +02:00
Kilian Mio
6a94c1a597
fix(qt): allow theming for apps started by systemd (#4349) 2023-08-17 10:27:17 +02:00
Emily
9f9e277b60 treewide: remove now-redundant lib.mdDoc calls
These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
2023-07-17 18:49:09 +01:00
Emily
36a53d9f26 treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]. All
conversions were automatically checked to produce the same DocBook
result when converted back, modulo minor typographical/formatting
differences on the acceptable-to-desirable spectrum.

To reproduce this commit, run:

  $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
    nix shell nixpkgs#coreutils \
    -c find . -name '*.nix' \
    -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
    {} +
  $ ./format

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge/tree/home-manager
2023-07-17 18:40:56 +01:00
Emily
21c700d14b treewide: convert options with lists to Markdown
`nix-doc-munge` can't handle these, which is understandable as I can
barely handle them either. There are a few infelicities here: the
current processor can't handle multiple terms to one description in
a description list so they get comma-separated in one case, and one
case that should ideally render as a `<figure>` with a `<figcaption>`
in HTML is reduced to a paragraph with some `<strong>` text. (Which, in
fairness, is how it rendered in practice with the DocBook anyway.) The
docs generator has since been updated to handle figures, but we can't
use it until moving off DocBook output.
2023-07-17 16:49:35 +01:00
Naïm Favier
9ba7b3990e
qt: fix breeze-qt5 path (#4098)
Don't use aliases as those may be disabled.
2023-06-16 15:33:15 +02:00
Thiago Kenji Okada
4e09c83255
qt: bunch of fixes and updates (#4095)
* qt: always apply qt.style.package

Before this commit this was only being applied if `qt.platformName` was
set to "gnome". With this change we will always apply the package.

* qt: only set ~/config/Trolltech.conf in GTK or GNOME

* qt: add qtstyleplugin-kvantum-qt4 and qt6Packages.qtstyleplugin-kvantum

qt: add qtstyleplugin-kvantum-qt4

* news: add news entry about the qt module refactors

* qt: add thiagokokada as maintainer
2023-06-15 20:09:30 +02:00
Thiago Kenji Okada
d214b93ee3
Add missing qt modules (#4094)
* qt: add "qtct" to qt.platformTheme

This allows usage of qt5ct/qt6ct tool to configure Qt theme/icons/fonts
in non-KDE platforms.

* qt: add missing relatedPackages for qt.platformTheme = "kde"

* qt: add "kvantum" for qt.styles.name
2023-06-15 16:06:07 +02:00
Thiago Kenji Okada
32376992f7
qt: add "kde" to qt.platformTheme (#4085)
This allow you to configure Qt integration using KDE instead of
qgnomeplatform or qtstyleplugins. Useful if your theme supports both GTK
and KDE, for example Nordic.

To use this properly you will need to do some manual configuration for
now. You can set the theme settings using `~/.config/kdeglobals`.

Example:

```nix
{ ... }:
{
  qt = {
    enable = true;
    platformTheme = "kde";
  };

  xdg = {
    configFile.kdeglobals.text = lib.generators.toINI { } {
      General = {
        ColorScheme = "nordicbluish";
        Name = "nordic-bluish";
        shadeSortColumn = true;
      };
      Icons = {
        Theme = "Nordic-bluish";
      };
      KDE = {
        LookAndFeelPackage = "Nordic-bluish";
        contrast = 4;
      };
    };

    dataFile = {
      # For General.ColorScheme
      color-schemes = {
        source = "${pkgs.nordic}/share/color-schemes";
        recursive = true;
      };
      # For KDE.LookAndFeelPackage
      plasma = {
        source = "${pkgs.nordic}/share/plasma";
        recursive = true;
      };
    };
  };
}
```
2023-06-14 21:16:20 +02:00
Naïm Favier
72ce74d3ea
qt: auto-detect style package from name (#3692)
* qt: auto-detect style package from name

* qt: test package auto-detection
2023-02-20 12:30:29 +01:00
Naïm Favier
bd11e2c5e6
Replace usage of literalExample
Instead use the new function `literalExpression`. See

  https://github.com/NixOS/nixpkgs/pull/136909
2021-10-13 00:16:10 +02:00
Thiago Kenji Okada
0e2dc4be30
qt: add qt.style option (#1839)
This allows you to set a theme for Qt applications. For example, if you
want to use `adwaita-qt` theme to have uniform look between Gtk and Qt
applications, you can use it like this:

```nix
{
  qt = {
    enable = true;
    platformTheme = "gnome";
    style = {
      name = "adwaita";
      package = pkgs.adwaita-qt;
    };
  };
}
```
2021-03-03 22:20:17 -05:00
Robert Helgesson
45abf3d38a
Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
Robert Helgesson
6e4b9af080
Switch to extended Nixpkg's lib
This change makes use of the `extend` function inside `lib` to inject
a new `hm` field containing the Home Manager library functions. This
simplifies use of the Home Manager library in the modules and reduces
the risk of accidental infinite recursion.

PR #994
2020-01-21 20:47:04 +01:00
Robert Helgesson
95d55b8da1
xsession: add option importedVariables
This option lists the environment variables to be imported into the
systemd user session.

Also add a basic test of the xsession module.
2019-06-23 14:06:29 +02:00
Olli Helenius
995fa3af36
qt: add option platformTheme
This deprecates `useGtkTheme=true` with the intention of replacing it
with the `platformTheme` selection.
2019-04-03 23:55:36 +02:00
Tadeo Kondrak
bc2b7d4f09
qt: use xdg.configHome instead of hard-coding 2019-03-27 22:40:12 +01:00
Robert Helgesson
faf04b009b
qt: support GTK+ theming for Qt services 2018-06-03 17:26:47 +02:00
Robert Helgesson
b6da6569c4
qt: add module 2018-05-18 20:57:36 +02:00