1
0
Fork 0
mirror of https://github.com/NixOS/nixos-artwork synced 2024-10-18 00:06:24 -04:00

logo: Provide an easy path to optimized SVGs and exported PNGs

The non-logo files are not part of the build, as they are files made for
specific usage, and should not be part of the NixOS assets for general
usage.
This commit is contained in:
Samuel Dionne-Riel 2024-04-11 21:51:33 -04:00
parent faefdd7ee6
commit 675752851d
4 changed files with 51 additions and 0 deletions

View file

@ -28,4 +28,5 @@
makeFlags = [ "prefix=$(out)" ]; makeFlags = [ "prefix=$(out)" ];
} }
) {}; ) {};
logo = pkgs.callPackage ./logo/package.nix {};
} }

View file

@ -56,6 +56,17 @@ white, keeping the spacing exact.
This variant is monochrome, with the shadow gradients baked-in as opacity This variant is monochrome, with the shadow gradients baked-in as opacity
changes. changes.
### Optimized version
The SVG files in this directory are the authoring files.
In other words, they are busy with inkscape-specific properties, used when
editing the files.
If what is needed is a file optimized for size, and for using as an asset,
the Nix expression in this directory can be used to produce optimized SVGs.
License License
------- -------

1
logo/default.nix Normal file
View file

@ -0,0 +1 @@
(import ../. {}).logo

38
logo/package.nix Normal file
View file

@ -0,0 +1,38 @@
{ runCommand
, lib
, inkscape
, nodePackages
}:
runCommand "nixos-artwork-logos" {
logos = [
# The snowflake-only variants
"nix-snowflake-colours"
"nix-snowflake-white"
# The horizontal variants
"nixos"
"nixos-white"
# The vertical variant
"nixos-text-below"
];
src = lib.cleanSource ./.;
nativeBuildInputs = [
inkscape
nodePackages.svgo
];
} ''
PS4=" $ "
for f in $logos; do
mkdir -p $out
printf ":: %s\n" "$f"
(set -x
inkscape --export-background-opacity=0 --export-plain-svg --export-filename=$out/$f.svg "$src/$f.svg"
inkscape --export-background-opacity=0 --export-filename=$out/$f.png "$src/$f.svg"
)
done
(set -x
svgo --pretty --multipass --folder "$out"
)
''