34 lines
981 B
Nix
34 lines
981 B
Nix
{ stdenv, sass, glib, colors, templates }:
|
|
|
|
let
|
|
colorsScss = colors {
|
|
template = ./colors.mustache;
|
|
extension = "scss";
|
|
};
|
|
|
|
in stdenv.mkDerivation {
|
|
name = "${colors.slug}-gnome-shell-theme";
|
|
src = templates.gnome-shell;
|
|
patches = [ ./shell_colors.patch ];
|
|
postPatch = ''
|
|
rm data/theme/gnome-shell-sass/{_colors.scss,_default-colors.scss,_palette.scss}
|
|
cp ${colorsScss} data/theme/gnome-shell-sass/_colors.scss
|
|
'';
|
|
|
|
nativeBuildInputs = [ sass glib.dev ];
|
|
buildPhase = ''
|
|
sass data/theme/gnome-shell-light.scss \
|
|
>data/theme/gnome-shell-light.css
|
|
cp data/theme/gnome-shell-{light,dark}.css
|
|
glib-compile-resources \
|
|
--sourcedir=data/theme \
|
|
data/gnome-shell-theme.gresource.xml
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/share/gnome-shell
|
|
mv data/theme/gnome-shell-light.css $out/share/gnome-shell/gnome-shell.css
|
|
mv data/gnome-shell-theme.gresource $out/share/gnome-shell/gnome-shell-theme.gresource
|
|
'';
|
|
}
|