ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / wh / where-is-my-sddm-theme / package.nix
blob9862909bf575733487edf270e94c4d4b5511fdba
2   lib,
3   formats,
4   stdenvNoCC,
5   fetchFromGitHub,
6   qt6,
7   libsForQt5,
8   variants ? [ "qt6" ],
9   /*
10     An example of how you can override the background on the NixOS logo
12       environment.systemPackages = [
13         (pkgs.where-is-my-sddm-theme.override {
14           themeConfig.General = {
15             background = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
16             backgroundMode = "none";
17           };
18         })
19       ];
20   */
21   themeConfig ? null,
24 let
25   user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
26   validVariants = [
27     "qt5"
28     "qt6"
29   ];
32 lib.checkListOfEnum "where-is-my-sddm-theme: variant" validVariants variants
34   stdenvNoCC.mkDerivation
35   (finalAttrs: {
36     pname = "where-is-my-sddm-theme";
37     version = "1.11.0";
39     src = fetchFromGitHub {
40       owner = "stepanzubkov";
41       repo = "where-is-my-sddm-theme";
42       rev = "refs/tags/v${finalAttrs.version}";
43       hash = "sha256-EzO+MTz1PMmgeKyw65aasetmjUCpvilcvePt6HJZrpo=";
44     };
46     propagatedUserEnvPkgs =
47       [ ]
48       ++ lib.optionals (lib.elem "qt5" variants) [ libsForQt5.qtgraphicaleffects ]
49       ++ lib.optionals (lib.elem "qt6" variants) [
50         qt6.qt5compat
51         qt6.qtsvg
52       ];
54     installPhase =
55       ''
56         mkdir -p $out/share/sddm/themes/
57       ''
58       + lib.optionalString (lib.elem "qt6" variants) (
59         ''
60           cp -r where_is_my_sddm_theme/ $out/share/sddm/themes/
61         ''
62         + lib.optionalString (lib.isAttrs themeConfig) ''
63           ln -sf ${user-cfg} $out/share/sddm/themes/where_is_my_sddm_theme/theme.conf.user
64         ''
65       )
66       + lib.optionalString (lib.elem "qt5" variants) (
67         ''
68           cp -r where_is_my_sddm_theme_qt5/ $out/share/sddm/themes/
69         ''
70         + lib.optionalString (lib.isAttrs themeConfig) ''
71           ln -sf ${user-cfg} $out/share/sddm/themes/where_is_my_sddm_theme_qt5/theme.conf.user
72         ''
73       );
75     meta = {
76       description = "Most minimalistic SDDM theme among all themes";
77       homepage = "https://github.com/stepanzubkov/where-is-my-sddm-theme";
78       license = lib.licenses.mit;
79       platforms = lib.platforms.linux;
80       maintainers = with lib.maintainers; [ name-snrl ];
81     };
82   })