Unverified Commit f21243c8 authored by Azat Bahawi's avatar Azat Bahawi Committed by GitHub
Browse files

Merge pull request #302661 from name-snrl/where-is-my-sddm-theme-refactoring

where-is-my-sddm-theme: refactoring
parents df9cbff9 7ce82795
Loading
Loading
Loading
Loading
+70 −0
Original line number Diff line number Diff line
{ lib
, formats
, stdenvNoCC
, fetchFromGitHub
, qtgraphicaleffects
  /* An example of how you can override the background on the NixOS logo
  *
  *  environment.systemPackages = [
  *    (pkgs.where-is-my-sddm-theme.override {
  *      themeConfig.General = {
  *        background = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
  *        backgroundMode = "none";
  *      };
  *    })
  *  ];
{
  lib,
  formats,
  stdenvNoCC,
  fetchFromGitHub,
  qt6,
  libsForQt5,
  variants ? [ "qt6" ],
  /*
    An example of how you can override the background on the NixOS logo

      environment.systemPackages = [
        (pkgs.where-is-my-sddm-theme.override {
          themeConfig.General = {
            background = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
            backgroundMode = "none";
          };
        })
      ];
  */
, themeConfig ? null
  themeConfig ? null,
}:

let
  user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
  validVariants = [
    "qt5"
    "qt6"
  ];
in

lib.checkListOfEnum "where-is-my-sddm-theme: variant" validVariants variants

stdenvNoCC.mkDerivation rec {
  pname = "where-is-my-sddm-theme";
  version = "1.8.0";
@@ -32,12 +42,22 @@ stdenvNoCC.mkDerivation rec {
    hash = "sha256-/D3i4QcE5+GbiAw32bFYJ7UxW/5NAl9FqQfiQc4akzI=";
  };

  propagatedUserEnvPkgs = [ qtgraphicaleffects ];
  propagatedUserEnvPkgs =
    [ ]
    ++ lib.optional (lib.elem "qt5" variants) [ libsForQt5.qtgraphicaleffects ]
    ++ lib.optional (lib.elem "qt6" variants) [ qt6.qt5compat ];

  installPhase = ''
  installPhase =
    ''
      mkdir -p $out/share/sddm/themes/
    ''
    + lib.optionalString (lib.elem "qt6" variants) ''
      cp -r where_is_my_sddm_theme/ $out/share/sddm/themes/
  '' + lib.optionalString (lib.isAttrs themeConfig) ''
    ''
    + lib.optionalString (lib.elem "qt5" variants) ''
      cp -r where_is_my_sddm_theme_qt5/ $out/share/sddm/themes/
    ''
    + lib.optionalString (lib.isAttrs themeConfig) ''
      ln -sf ${user-cfg} $out/share/sddm/themes/where_is_my_sddm_theme/theme.conf.user
    '';

+0 −2
Original line number Diff line number Diff line
@@ -25134,8 +25134,6 @@ with pkgs;
  whereami = callPackage ../development/libraries/whereami { };
  where-is-my-sddm-theme = libsForQt5.callPackage ../data/themes/where-is-my-sddm-theme { };
  wildmidi = callPackage ../development/libraries/wildmidi {
    inherit (darwin.apple_sdk.frameworks) OpenAL;
  };