stylix/modules/gnome/theme.nix

34 lines
981 B
Nix
Raw Permalink Normal View History

2024-12-24 16:04:27 +01:00
{ 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
'';
}