nix-custom/packages/sweet-ambar-blue.nix
2025-02-09 06:30:09 +08:00

71 lines
2.2 KiB
Nix

{
inputs,
name,
pkgs,
}:
pkgs.stdenv.mkDerivation {
inherit name;
srcs = [];
buildInputs = [pkgs.jdupes];
dontUnpack = true;
# TODO: Fix symlink issue
dontCheckForBrokenSymlinks = true;
preInstall = with inputs; ''
cp -r ${candy-icons}/ candy-icons/
cp -r ${sweet-ambar-blue}/ sweet-ambar-blue/
cp -r ${sweet-ambar-blue-dark}/ sweet-ambar-blue-dark/
cp -r ${sweet-folders}/ sweet-folders/
cp -r ${sweet-kde}/ sweet-kde/
chmod -R +w ./
'';
installPhase = ''
runHook preInstall
# Remove redundant files
rm -rf */.gitignore
rm -rf */Art
rm -rf */FUNDING.yml
rm -rf */LICENSE
rm -rf */README.md
rm -rf */{package.json,package-lock.json,Gulpfile.js}
rm -rf */src
rm -rf */cinnamon/*.scss
rm -rf */gnome-shell/{earlier-versions,extensions,*.scss}
rm -rf */gtk-2.0/{assets.svg,assets.txt,links.fish,render-assets.sh}
rm -rf */gtk-3.0/{apps,widgets,*.scss}
rm -rf */gtk-4.0/{apps,widgets,*.scss}
rm -rf */xfwm4/{assets,render_assets.fish}
# Install icons
mkdir -p $out/share/icons/
mv candy-icons/ $out/share/icons/candy-icons/
mv sweet-ambar-blue-dark/kde/cursors/Sweet-cursors/ $out/share/icons/Sweet-cursors/
mv sweet-folders/Sweet-Rainbow/ $out/share/icons/Sweet-Rainbow/
# Adjust KDE relevant folder structure
cd sweet-ambar-blue/kde/
mkdir plasma/desktoptheme/
mv -v ../../sweet-kde/ plasma/desktoptheme/Sweet-Ambar-Blue/
mv -v aurorae/ aurorae-temp/
mkdir aurorae/
mv -v aurorae-temp/ aurorae/themes/
mv -v colorschemes/ color-schemes/
mv -v kvantum/ Kvantum/
rm -rf plasma/look-and-feel/Sweet-Ambar-Blue/
mv -v plasma/look-and-feel/Plasma6/Sweet-Ambar-Blue/ plasma/look-and-feel/Sweet-Ambar-Blue/
rm -r plasma/look-and-feel/Plasma6/
rm -rf plasma/look-and-feel/*/contents/{logout,osd,components}
# Install theme
mv -v * $out/share/
cd ../../
rm -r sweet-ambar-blue/kde/
mkdir $out/share/themes/
mv -v sweet-ambar-blue/ $out/share/themes/Sweet-Ambar-Blue/
# Replace duplicate files with symbolic links to the first file in each set of duplicates
jdupes --quiet --link-soft --recurse $out/share/
runHook postInstall
'';
}