about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/lxqt/default.nix
blob: b4925f3c5d954f8afd89e5fc67d067bac7abc2aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
{ pkgs, makeScope, kdePackages }:

let
  packages = self: with self; {

    # For compiling information, see:
    # - https://github.com/lxqt/lxqt/wiki/Building-from-source

    ### BASE
    libqtxdg = callPackage ./libqtxdg {};
    lxqt-build-tools = callPackage ./lxqt-build-tools {};
    libsysstat = callPackage ./libsysstat {};
    liblxqt = callPackage ./liblxqt {};
    qtxdg-tools = callPackage ./qtxdg-tools {};
    libdbusmenu-lxqt = callPackage ./libdbusmenu-lxqt {};

    ### CORE 1
    libfm-qt = callPackage ./libfm-qt {};
    lxqt-about = callPackage ./lxqt-about {};
    lxqt-admin = callPackage ./lxqt-admin {};
    lxqt-config = callPackage ./lxqt-config {};
    lxqt-globalkeys = callPackage ./lxqt-globalkeys {};
    lxqt-menu-data = callPackage ./lxqt-menu-data {};
    lxqt-notificationd = callPackage ./lxqt-notificationd {};
    lxqt-openssh-askpass = callPackage ./lxqt-openssh-askpass {};
    lxqt-policykit = callPackage ./lxqt-policykit {};
    lxqt-powermanagement = callPackage ./lxqt-powermanagement {};
    lxqt-qtplugin = callPackage ./lxqt-qtplugin {};
    lxqt-session = callPackage ./lxqt-session {};
    lxqt-sudo = callPackage ./lxqt-sudo {};
    lxqt-themes = callPackage ./lxqt-themes {};
    pavucontrol-qt = callPackage ./pavucontrol-qt {};
    qtermwidget = callPackage ./qtermwidget {
      lxqt-build-tools = lxqt-build-tools_0_13;
      inherit (pkgs.libsForQt5) qtbase qttools;
    };

    ### CORE 2
    lxqt-panel = callPackage ./lxqt-panel {};
    lxqt-runner = callPackage ./lxqt-runner {};
    pcmanfm-qt = callPackage ./pcmanfm-qt {};

    ### OPTIONAL
    qterminal = callPackage ./qterminal {
      lxqt-build-tools = lxqt-build-tools_0_13;
      inherit (pkgs.libsForQt5) qtbase qttools qtx11extras;
    };
    compton-conf = callPackage ./compton-conf {
      lxqt-build-tools = lxqt-build-tools_0_13;
      inherit (pkgs.libsForQt5) qtbase qttools qtx11extras;
    };
    obconf-qt = callPackage ./obconf-qt {};
    lximage-qt = callPackage ./lximage-qt {};
    qps = callPackage ./qps {};
    screengrab = callPackage ./screengrab {};
    qlipper = callPackage ./qlipper {
      inherit (pkgs.libsForQt5) qtbase qttools;
    };
    lxqt-archiver = callPackage ./lxqt-archiver {};
    xdg-desktop-portal-lxqt = callPackage ./xdg-desktop-portal-lxqt {};

    ### COMPATIBILITY
    lxqt-build-tools_0_13 = callPackage ./lxqt-build-tools {
      version = "0.13.0";
      inherit (pkgs.libsForQt5) qtbase;
    };
    libqtxdg_3_12 = callPackage ./libqtxdg {
      version = "3.12.0";
      lxqt-build-tools = lxqt-build-tools_0_13;
      inherit (pkgs.libsForQt5) qtbase qtsvg;
    };
    libfm-qt_1_4 = callPackage ./libfm-qt {
      version = "1.4.0";
      lxqt-build-tools = lxqt-build-tools_0_13;
      inherit (pkgs.libsForQt5) qttools qtx11extras;
    };
    lxqt-qtplugin_1_4 = callPackage ./lxqt-qtplugin {
      version = "1.4.1";
      lxqt-build-tools = lxqt-build-tools_0_13;
      libqtxdg = libqtxdg_3_12;
      libfm-qt = libfm-qt_1_4;
      inherit (pkgs.libsForQt5) qtbase qtsvg qttools libdbusmenu;
    };

    preRequisitePackages = [
      kdePackages.kwindowsystem # provides some QT plugins needed by lxqt-panel
      kdePackages.libkscreen # provides plugins for screen management software
      pkgs.libfm
      pkgs.libfm-extra
      pkgs.menu-cache
      pkgs.openbox # default window manager
      kdePackages.qtsvg # provides QT plugins for svg icons
    ];

    corePackages = [
      ### BASE
      libqtxdg
      libsysstat
      liblxqt
      qtxdg-tools
      libdbusmenu-lxqt

      ### CORE 1
      libfm-qt
      lxqt-about
      lxqt-admin
      lxqt-config
      lxqt-globalkeys
      lxqt-menu-data
      lxqt-notificationd
      lxqt-openssh-askpass
      lxqt-policykit
      lxqt-powermanagement
      lxqt-qtplugin
      lxqt-session
      lxqt-sudo
      lxqt-themes
      pavucontrol-qt

      ### CORE 2
      lxqt-panel
      lxqt-runner
      pcmanfm-qt
    ];

    optionalPackages = [
      ### LXQt project
      qterminal
      obconf-qt
      lximage-qt
      lxqt-archiver

      ### QtDesktop project
      qps
      screengrab

      ### Default icon theme
      kdePackages.breeze-icons

      ### Screen saver
      pkgs.xscreensaver
    ];

  };
in
makeScope kdePackages.newScope packages