33 lines
834 B
Nix
33 lines
834 B
Nix
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (builtins) baseNameOf;
|
|
inherit (lib.strings) removeSuffix;
|
|
in {
|
|
toCSSFile = file: let
|
|
fileName = removeSuffix ".scss" (baseNameOf file);
|
|
compiledStyles = pkgs.runCommand "compileScssFile" {buildInputs = [pkgs.sass];} ''
|
|
mkdir "$out"
|
|
scss --sourcemap=none \
|
|
--no-cache \
|
|
--style compressed \
|
|
--default-encoding utf-8 \
|
|
"${file}" \
|
|
>>"$out/${fileName}.css"
|
|
'';
|
|
in "${compiledStyles}/${fileName}.css";
|
|
|
|
toFilteredImage = imageFile: options: let
|
|
result = "result.png";
|
|
filteredImage =
|
|
pkgs.runCommand "filterWallpaper" {
|
|
buildInputs = [pkgs.imagemagick];
|
|
} ''
|
|
mkdir "$out"
|
|
convert ${options} ${imageFile} $out/${result}
|
|
'';
|
|
in "${filteredImage}/${result}";
|
|
}
|