{
  pkgs ? import <nixpkgs> {},
  stdenv ? pkgs.stdenv,
  lib ? pkgs.lib,
  fetchFromGitHub ? pkgs.fetchFromGitHub,
}:

stdenv.mkDerivation rec {
  pname = "LightlyShaders";
  version = "0.0.1";

  src = fetchFromGitHub {
    owner = "a-parhom";
    repo = "LightlyShaders";
    rev = "0da0587dc2cea4766290695d8f8e1a1d8835b1ba";
    sha256 = "MJk2pXRmyZDZX7KeZBHNKi0WQcQwqTM1nZWTWSxnvfc=";
  };

  dontWrapQtApps = true;

  buildInputs = with pkgs; [
    qt5.qtbase
    qt5.qtx11extras
    qt5.qttools
    libsForQt5.kglobalaccel
    libsForQt5.kinit
    libsForQt5.kwin
    libsForQt5.kio
    libsForQt5.kguiaddons
    libsForQt5.kcoreaddons
    libsForQt5.systemsettings
    libsForQt5.plasma-framework
  ];

  nativeBuildInputs = with pkgs; [
    stdenv
    cmake
    extra-cmake-modules
    clang
    libepoxy
    xorg.libXdmcp
  ];

  preConfigure = ''
    local modulepath=$(kf5-config --install module)
    local datapath=$(kf5-config --install data)
    local servicepath=$(kf5-config --install services)
    substituteInPlace CMakeLists.txt \
      --replace "\''${MODULEPATH}" "$out/''${modulepath#/nix/store/*/}" \
      --replace "\''${DATAPATH}"   "$out/''${datapath#/nix/store/*/}" \
      --replace "\''${DATAPATH}"   "$out/''${servicepath#/nix/store/*/}"
  '';

  meta = with lib; {
    name = "LightlyShaders";
    description = "Round corners and outline effect for KWin.";
    homepage = "https://github.com/a-parhom/LightlyShaders";
    license = licenses.gpl3;
    maintainers = [ "chriscochrun" ];
    platforms = platforms.all;
  };
}