where-is-my-sddm-theme: refactoring

This commit is contained in:
name_snrl 2024-04-09 01:29:46 +05:00
parent 47afcfe5ae
commit 7ce82795e3
3 changed files with 70 additions and 52 deletions

View File

@ -0,0 +1,70 @@
{
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,
}:
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";
src = fetchFromGitHub {
owner = "stepanzubkov";
repo = pname;
rev = "v${version}";
hash = "sha256-/D3i4QcE5+GbiAw32bFYJ7UxW/5NAl9FqQfiQc4akzI=";
};
propagatedUserEnvPkgs =
[ ]
++ lib.optional (lib.elem "qt5" variants) [ libsForQt5.qtgraphicaleffects ]
++ lib.optional (lib.elem "qt6" variants) [ qt6.qt5compat ];
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.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
'';
meta = with lib; {
description = "The most minimalistic SDDM theme among all themes";
homepage = "https://github.com/stepanzubkov/where-is-my-sddm-theme";
license = licenses.mit;
maintainers = with maintainers; [ name-snrl ];
};
}

View File

@ -1,50 +0,0 @@
{ 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";
* };
* })
* ];
*/
, themeConfig ? null
}:
let
user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
in
stdenvNoCC.mkDerivation rec {
pname = "where-is-my-sddm-theme";
version = "1.8.0";
src = fetchFromGitHub {
owner = "stepanzubkov";
repo = pname;
rev = "v${version}";
hash = "sha256-/D3i4QcE5+GbiAw32bFYJ7UxW/5NAl9FqQfiQc4akzI=";
};
propagatedUserEnvPkgs = [ qtgraphicaleffects ];
installPhase = ''
mkdir -p $out/share/sddm/themes/
cp -r where_is_my_sddm_theme/ $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
'';
meta = with lib; {
description = "The most minimalistic SDDM theme among all themes";
homepage = "https://github.com/stepanzubkov/where-is-my-sddm-theme";
license = licenses.mit;
maintainers = with maintainers; [ name-snrl ];
};
}

View File

@ -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;
};