depot/third_party/nixpkgs/pkgs/data/themes/elegant-sddm/default.nix

68 lines
1.6 KiB
Nix

{
lib,
formats,
stdenvNoCC,
fetchFromGitHub,
qtgraphicaleffects,
/*
An example of how you can override the background with a NixOS wallpaper
*
* environment.systemPackages = [
* (pkgs.elegant-sddm.override {
* themeConfig.General = {
background = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}";
* };
* })
* ];
*/
themeConfig ? null,
}:
let
user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
in
stdenvNoCC.mkDerivation {
pname = "elegant-sddm";
version = "unstable-2024-02-08";
src = fetchFromGitHub {
owner = "surajmandalcell";
repo = "Elegant-sddm";
rev = "3102e880f46a1b72c929d13cd0a3fb64f973952a";
hash = "sha256-yn0fTYsdZZSOcaYlPCn8BUIWeFIKcTI1oioTWqjYunQ=";
};
propagatedBuildInputs = [
qtgraphicaleffects
];
dontWrapQtApps = true;
installPhase =
''
runHook preInstall
mkdir -p "$out/share/sddm/themes"
cp -r Elegant/ "$out/share/sddm/themes/Elegant"
''
+ (lib.optionalString (lib.isAttrs themeConfig) ''
ln -sf ${user-cfg} $out/share/sddm/themes/Elegant/theme.conf.user
'')
+ ''
runHook postInstall
'';
postFixup = ''
mkdir -p $out/nix-support
echo ${qtgraphicaleffects} >> $out/nix-support/propagated-user-env-packages
'';
meta = with lib; {
description = "Sleek and stylish SDDM theme crafted in QML";
homepage = "https://github.com/surajmandalcell/Elegant-sddm";
license = licenses.gpl3;
maintainers = with maintainers; [ GaetanLepage ];
};
}