diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4a847d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/result diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9b6556e --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +modules = icons + +.PHONY: $(modules) install clean all + +all: $(modules) + +install: + $(MAKE) $(foreach module,$(modules),-C $(module)) install + +clean: + $(MAKE) $(foreach module,$(modules),-C $(module)) clean + +$(modules): + $(MAKE) -C $@ diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..6136da4 --- /dev/null +++ b/default.nix @@ -0,0 +1,11 @@ +{ pkgs ? import {}, + lib ? pkgs.lib }: + +{ + icons = pkgs.stdenv.mkDerivation { + name = "nix-icons"; + srcs = lib.cleanSource ./.; + buildInputs = [ pkgs.imagemagick ]; + makeFlags = [ "DESTDIR=$(out)" "prefix=" ]; + }; +} diff --git a/icons/Makefile b/icons/Makefile new file mode 100755 index 0000000..a49086b --- /dev/null +++ b/icons/Makefile @@ -0,0 +1,33 @@ +#!/usr/bin/env make +# Requirements: Imagemagick + +prefix ?= /usr + +sizes = 16 24 32 48 64 72 96 128 256 512 1024 +theme = hicolor +category = apps + +icons = $(foreach size,$(sizes),$(size)x$(size)/$(category)/nix-snowflake.png) \ + scalable/$(category)/nix-snowflake.svg + +install_dest = $(DESTDIR)$(prefix)/share/icons/$(theme) + +all: $(icons) + +%/$(category)/nix-snowflake.png: ../logo/nix-snowflake.svg + @mkdir -p $(@D) + convert -background none -resize $* $< $@ + +scalable/$(category)/nix-snowflake.svg: ../logo/nix-snowflake.svg + @mkdir -p $(@D) + cp $< $@ + +$(install_dest)/%: % + install -D $< $@ + +install: $(foreach icon,$(icons),$(install_dest)/$(icon)) + +clean: + rm -f $(icons) + +.PHONY: all install clean