diff --git a/pkgs/data/themes/chili-sddm/default.nix b/pkgs/data/themes/chili-sddm/default.nix new file mode 100644 index 000000000000..a1b26248b8db --- /dev/null +++ b/pkgs/data/themes/chili-sddm/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchFromGitHub +, qtgraphicaleffects +, themeConfig ? { } +}: +let + customToString = x: if builtins.isBool x then lib.boolToString x else toString x; + configLines = lib.mapAttrsToList (name: value: lib.nameValuePair name value) themeConfig; + configureTheme = "cp theme.conf theme.conf.orig \n" + + (lib.concatMapStringsSep "\n" + (configLine: + "grep -q '^${configLine.name}=' theme.conf || echo '${configLine.name}=' >> \"$1\"\n" + + "sed -i -e 's/^${configLine.name}=.*$/${configLine.name}=${ + lib.escape [ "/" "&" "\\"] (customToString configLine.value) + }/' theme.conf" + ) + configLines); +in +stdenv.mkDerivation { + pname = "sddm-chili-theme"; + version = "0.1.5"; + + src = fetchFromGitHub { + owner = "MarianArlt"; + repo = "sddm-chili"; + rev = "6516d50176c3b34df29003726ef9708813d06271"; + sha256 = "036fxsa7m8ymmp3p40z671z163y6fcsa9a641lrxdrw225ssq5f3"; + }; + + propagatedBuildInputs = [ + qtgraphicaleffects + ]; + + dontWrapQtApps = true; + + preInstall = configureTheme; + + postInstall = '' + mkdir -p $out/share/sddm/themes/chili + + mv * $out/share/sddm/themes/chili/ + ''; + + postFixup = '' + mkdir -p $out/nix-support + + echo ${qtgraphicaleffects} >> $out/nix-support/propagated-user-env-packages + ''; + meta = with lib; { + license = licenses.gpl3; + maintainers = with lib.maintainers; [ sents ]; + homepage = "https://github.com/MarianArlt/sddm-chili"; + description = "The chili login theme for SDDM"; + longDescription = '' + Chili is hot, just like a real chili! + Spice up the login experience for your users, your family and yourself. + Chili reduces all the clutter and leaves you with a clean, easy to use, login interface with a modern yet classy touch. + ''; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c248e8219771..ce8c8289e405 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27060,6 +27060,8 @@ with pkgs; schedtool = callPackage ../os-specific/linux/schedtool { }; + sddm-chili-theme = libsForQt5.callPackage ../data/themes/chili-sddm { }; + sdparm = callPackage ../os-specific/linux/sdparm { }; sdrangel = libsForQt5.callPackage ../applications/radio/sdrangel { };