about summary refs log tree commit diff
path: root/nixpkgs/pkgs/data/icons
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/data/icons')
-rw-r--r--nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix38
-rw-r--r--nixpkgs/pkgs/data/icons/bibata-cursors/default.nix51
-rw-r--r--nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix51
-rw-r--r--nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix41
-rw-r--r--nixpkgs/pkgs/data/icons/capitaine-cursors/default.nix49
-rw-r--r--nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix47
-rw-r--r--nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix41
-rw-r--r--nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix42
-rw-r--r--nixpkgs/pkgs/data/icons/flat-remix-icon-theme/default.nix43
-rw-r--r--nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix33
-rw-r--r--nixpkgs/pkgs/data/icons/hicolor-icon-theme/default.nix18
-rw-r--r--nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh53
-rw-r--r--nixpkgs/pkgs/data/icons/humanity-icon-theme/default.nix44
-rw-r--r--nixpkgs/pkgs/data/icons/iconpack-jade/default.nix36
-rw-r--r--nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix38
-rw-r--r--nixpkgs/pkgs/data/icons/iso-flags/default.nix47
-rw-r--r--nixpkgs/pkgs/data/icons/luna-icons/default.nix52
-rw-r--r--nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix43
-rw-r--r--nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix40
-rw-r--r--nixpkgs/pkgs/data/icons/numix-cursor-theme/default.nix34
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix45
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix45
-rw-r--r--nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix37
-rw-r--r--nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix46
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix44
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-maia-icon-theme/default.nix45
-rw-r--r--nixpkgs/pkgs/data/icons/pop-icon-theme/default.nix45
-rw-r--r--nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix33
-rw-r--r--nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix31
-rw-r--r--nixpkgs/pkgs/data/icons/tango-icon-theme/rsvg-convert.patch34
-rw-r--r--nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix49
-rw-r--r--nixpkgs/pkgs/data/icons/zafiro-icons/default.nix42
32 files changed, 1337 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix
new file mode 100644
index 000000000000..ab80305d5285
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/arc-icon-theme/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, gnome3, moka-icon-theme, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "arc-icon-theme";
+  version = "2016-11-22";
+
+  src = fetchFromGitHub {
+    owner = "horst3180";
+    repo = pname;
+    rev = "55a575386a412544c3ed2b5617a61f842ee4ec15";
+    sha256 = "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    moka-icon-theme
+    gnome3.adwaita-icon-theme
+    gnome-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postFixup = "gtk-update-icon-cache $out/share/icons/Arc";
+
+  meta = with stdenv.lib; {
+    description = "Arc icon theme";
+    homepage = "https://github.com/horst3180/arc-icon-theme";
+    license = licenses.gpl3;
+    # moka-icon-theme dependency is restricted to linux
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/bibata-cursors/default.nix b/nixpkgs/pkgs/data/icons/bibata-cursors/default.nix
new file mode 100644
index 000000000000..66ed71f1f9ec
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/bibata-cursors/default.nix
@@ -0,0 +1,51 @@
+{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen, python3 }:
+
+let
+  py = python3.withPackages(ps: [ ps.pillow ]);
+in stdenvNoCC.mkDerivation rec {
+  pname = "bibata-cursors";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "KaizIqbal";
+    repo = "Bibata_Cursor";
+    rev = "v${version}";
+    sha256 = "1f7i5jkl21fvrr45zpcj40avkc7camjb1ddrrdlaabbplgz5mcgn";
+  };
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace build.sh --replace "sudo" ""
+
+    # Don't generate windows cursors,
+    # they aren't used and aren't installed
+    # by the project's install script anyway.
+    echo "exit 0" > w32-make.sh
+  '';
+
+  nativeBuildInputs  = [
+    gnome-themes-extra
+    inkscape
+    xcursorgen
+    py
+  ];
+
+  buildPhase = ''
+    HOME="$NIX_BUILD_ROOT" ./build.sh
+  '';
+
+  installPhase = ''
+    install -dm 0755 $out/share/icons
+    for x in Bibata_*; do
+      cp -pr $x/out/X11/$x $out/share/icons/
+    done
+  '';
+
+  meta = with stdenvNoCC.lib; {
+    description = "Material Based Cursor";
+    homepage = "https://github.com/KaizIqbal/Bibata_Cursor";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ rawkode ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix b/nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix
new file mode 100644
index 000000000000..7977566cb613
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/bibata-cursors/extra.nix
@@ -0,0 +1,51 @@
+{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen, python3 }:
+
+let
+  py = python3.withPackages(ps: [ ps.pillow ]);
+in stdenvNoCC.mkDerivation rec {
+  pname = "bibata-extra-cursors";
+  version = "0.3";
+
+  src = fetchFromGitHub {
+    owner = "KaizIqbal";
+    repo = "Bibata_Extra_Cursor";
+    rev = "v${version}";
+    sha256 = "1bh945hvakbh985jkr6g6x0myw3k49pvn24m1clvqdv35v65nfxk";
+  };
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace build.sh --replace "sudo" ""
+
+    # Don't generate windows cursors,
+    # they aren't used and aren't installed
+    # by the project's install script anyway.
+    echo "exit 0" > w32-make.sh
+  '';
+
+  nativeBuildInputs  = [
+    gnome-themes-extra
+    inkscape
+    xcursorgen
+    py
+  ];
+
+  buildPhase = ''
+    HOME="$NIX_BUILD_ROOT" ./build.sh
+  '';
+
+  installPhase = ''
+    install -dm 0755 $out/share/icons
+    for x in Bibata_*; do
+      cp -pr $x/out/X11/$x $out/share/icons/
+    done
+  '';
+
+  meta = with stdenvNoCC.lib; {
+    description = "Cursors Based on Bibata";
+    homepage = "https://github.com/KaizIqbal/Bibata_Extra_Cursor";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix b/nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix
new file mode 100644
index 000000000000..afdd92600fa9
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/bibata-cursors/translucent.nix
@@ -0,0 +1,41 @@
+{ stdenvNoCC, fetchFromGitHub, gnome-themes-extra, inkscape, xcursorgen }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "bibata-cursors-translucent";
+  version = "unstable-2019-09-13";
+
+  src = fetchFromGitHub {
+    owner = "Silicasandwhich";
+    repo = "Bibata_Cursor_Translucent";
+    rev = "2eed979d817148817ea6bca15c594809aa9c2cb9";
+    sha256 = "1s688v40xx9jbvfncb4kgfnnxkmknji7igqx7c4q1ly9s7imbd1f";
+  };
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace build.sh --replace "gksu " ""
+  '';
+
+  nativeBuildInputs  = [
+    gnome-themes-extra
+    inkscape
+    xcursorgen
+  ];
+
+  buildPhase = ''
+    HOME="$NIX_BUILD_ROOT" ./build.sh
+  '';
+
+  installPhase = ''
+    install -dm 0755 $out/share/icons
+    cp -pr Bibata_* $out/share/icons/
+  '';
+
+  meta = with stdenvNoCC.lib; {
+    description = "Translucent Varient of the Material Based Cursor";
+    homepage = "https://github.com/Silicasandwhich/Bibata_Cursor_Translucent";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/capitaine-cursors/default.nix b/nixpkgs/pkgs/data/icons/capitaine-cursors/default.nix
new file mode 100644
index 000000000000..09491b904ef1
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/capitaine-cursors/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchFromGitHub
+, inkscape, xcursorgen, bc }:
+
+stdenv.mkDerivation rec {
+  pname = "capitaine-cursors";
+  version = "4";
+
+  src = fetchFromGitHub {
+    owner = "keeferrourke";
+    repo = pname;
+    rev = "r${version}";
+    sha256 = "0652ydy73x29z7wc6ccyqihmfg4bk0ksl7yryycln6c7i0iqfmc9";
+  };
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  buildInputs  =[
+    inkscape
+    xcursorgen
+    bc
+  ];
+
+  buildPhase = ''
+    for variant in dark light ; do
+    # https://github.com/NixOS/nixpkgs/blob/master/pkgs/data/fonts/emojione/default.nix#L16
+      HOME="$NIX_BUILD_ROOT" ./build.sh --max-dpi xhd --type $variant
+    done
+  '';
+
+  installPhase = ''
+    install -dm 0755 $out/share/icons
+    cp -pr dist/dark $out/share/icons/capitaine-cursors
+    cp -pr dist/light $out/share/icons/capitaine-cursors-white
+  '';
+
+  meta = with stdenv.lib; {
+    description = ''
+      An x-cursor theme inspired by macOS and based on KDE Breeze
+    '';
+    homepage = "https://github.com/keeferrourke/capitaine-cursors";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [
+      eadwu
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
new file mode 100644
index 000000000000..52f9c8c821fe
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, pkgconfig, gdk-pixbuf, optipng, librsvg, gtk3, pantheon, gnome3, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "elementary-xfce-icon-theme";
+  version = "0.15.1";
+
+  src = fetchFromGitHub {
+    owner = "shimmerproject";
+    repo = "elementary-xfce";
+    rev = "v${version}";
+    sha256 = "1rl15kh9c7qxw4pvwmw44fb4v3vwh6zin4wpx55bnvm5j76y6p3f";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    gdk-pixbuf
+    librsvg
+    optipng
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    pantheon.elementary-icon-theme
+    gnome3.adwaita-icon-theme
+    gnome-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postPatch = ''
+    substituteInPlace svgtopng/Makefile --replace "-O0" "-O"
+  '';
+
+  postInstall = ''
+    make icon-caches
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Elementary icons for Xfce and other GTK desktops like GNOME";
+    homepage = "https://github.com/shimmerproject/elementary-xfce";
+    license = licenses.gpl2;
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidak ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix
new file mode 100644
index 000000000000..9df47f8faa7c
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/faba-icon-theme/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  name = "${package-name}-${version}";
+  package-name = "faba-icon-theme";
+  version = "4.3";
+
+  src = fetchFromGitHub {
+    owner = "moka-project";
+    repo = package-name;
+    rev = "v${version}";
+    sha256 = "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    python3
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    pantheon.elementary-icon-theme
+    gnome-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postPatch = ''
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A sexy and modern icon theme with Tango influences";
+    homepage = "https://snwh.org/moka";
+    license = with licenses; [ cc-by-sa-40 gpl3 ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix b/nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix
new file mode 100644
index 000000000000..e403ba753ecc
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/faba-mono-icons/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, gtk3, moka-icon-theme, faba-icon-theme, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "faba-mono-icons";
+  version = "2016-04-30";
+
+  src = fetchFromGitHub {
+    owner = "snwh";
+    repo = pname;
+    rev = "2006c5281eb988c799068734f289a85443800cda";
+    sha256 = "0nisfl92y6hrbakp9qxi0ygayl6avkzrhwirg6854bwqjy2dvjv9";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    moka-icon-theme
+    faba-icon-theme
+    gnome-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postInstall = ''
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The full set of Faba monochrome panel icons";
+    homepage = "https://snwh.org/moka";
+    license = licenses.gpl3;
+    # moka-icon-theme dependency is restricted to linux
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/flat-remix-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/flat-remix-icon-theme/default.nix
new file mode 100644
index 000000000000..b0b115f096f2
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/flat-remix-icon-theme/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub , gtk3, breeze-icons, pantheon, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec  {
+  pname = "flat-remix-icon-theme";
+  version = "20200116";
+
+  src = fetchFromGitHub  {
+    owner = "daniruiz";
+    repo = "flat-remix";
+    rev = version;
+    sha256 = "14n5wydhd5ifmsbj770s2qg2ksd3xa3m61qxydid6jq39k0lxbd8";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    breeze-icons
+    pantheon.elementary-icon-theme
+    gnome-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    mv Flat-Remix* $out/share/icons/
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flat remix is a pretty simple icon theme inspired on material design";
+    homepage = "https://drasite.com/flat-remix";
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mschneider ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix
new file mode 100644
index 000000000000..30dacbae740d
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/gnome-icon-theme/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk2 }:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-icon-theme";
+  version = "3.12.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    iconnamingutils
+    gtk2
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postInstall = ''
+    # remove a tree of dirs with no files within
+    rm -r "$out/share/locale"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Collection of icons for the GNOME 2 desktop";
+    homepage = "https://download.gnome.org/sources/gnome-icon-theme/";
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/hicolor-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/hicolor-icon-theme/default.nix
new file mode 100644
index 000000000000..5eefce81a129
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/hicolor-icon-theme/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "hicolor-icon-theme-0.17";
+
+  src = fetchurl {
+    url = "https://icon-theme.freedesktop.org/releases/${name}.tar.xz";
+    sha256 = "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i";
+  };
+
+  setupHook = ./setup-hook.sh;
+
+  meta = with stdenv.lib; {
+    description = "Default fallback theme used by implementations of the icon theme specification";
+    homepage = "https://icon-theme.freedesktop.org/releases/";
+    platforms = platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh b/nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
new file mode 100644
index 000000000000..0fd9bf85d831
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/hicolor-icon-theme/setup-hook.sh
@@ -0,0 +1,53 @@
+# shellcheck shell=bash
+
+# Populate XDG_ICON_DIRS
+hicolorIconThemeHook() {
+
+    # where to find icon themes
+    if [ -d "$1/share/icons" ]; then
+      addToSearchPath XDG_ICON_DIRS "$1/share"
+    fi
+}
+
+# I think this is meant to be a runtime dep
+addEnvHooks "${targetOffset:?}" hicolorIconThemeHook
+
+# Make symbolic links of parent icon themes that are inherited in the
+# icon themes installed by the package.
+symlinkParentIconThemes() {
+    if [ -e $out/share/icons ]; then
+        echo Symlinking parent icon themes...
+        local theme
+        local theme_name
+        local inheritance
+        local parent
+        local parent_theme
+        local dir
+        local parent_path
+        for theme in $out/share/icons/*/index.theme; do
+            theme_name="${theme%/*}"
+            theme_name="${theme_name##*/}"
+            echo "  theme: $theme_name"
+            inheritance=$(sed -rne 's,^Inherits=(.*)$,\1,p' $theme)
+            IFS=',' read -ra parent_themes <<< "$inheritance"
+            for parent_theme in "${parent_themes[@]}"; do
+                parent_path=""
+                if [ -e "$out/share/icons/$parent_theme" ]; then
+                    parent_path="$(realpath $out/share/icons/$parent_theme)"
+                else
+                    IFS=':' read -ra dirs <<< $XDG_ICON_DIRS
+                    for parent_dir in  "${dirs[@]}"; do
+                        if [ -e "$parent_dir/icons/$parent_theme/index.theme" ]; then
+                            parent_path=$(realpath "$parent_dir/icons/$parent_theme")
+                            ln -s "$parent_path" "$out/share/icons/"
+                            break
+                        fi
+                    done
+                fi
+                echo "    parent: $parent_theme	-> $parent_path"
+            done
+        done
+    fi
+}
+
+preFixupHooks+=(symlinkParentIconThemes)
diff --git a/nixpkgs/pkgs/data/icons/humanity-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/humanity-icon-theme/default.nix
new file mode 100644
index 000000000000..62085110f513
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/humanity-icon-theme/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, gtk3, gnome3, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "humanity-icon-theme";
+  version = "0.6.15";
+
+  src = fetchurl {
+    url = "https://launchpad.net/ubuntu/+archive/primary/+files/${pname}_${version}.tar.xz";
+    sha256 = "19ja47468s3jfabvakq9wknyfclfr31a9vd11p3mhapfq8jv9g4x";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    gnome3.adwaita-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/icons
+    cp -a Humanity* $out/share/icons
+    rm $out/share/icons/*/{AUTHORS,CONTRIBUTORS,COPYING}
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Humanity icons from Ubuntu";
+    homepage = "https://launchpad.net/humanity/";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/iconpack-jade/default.nix b/nixpkgs/pkgs/data/icons/iconpack-jade/default.nix
new file mode 100644
index 000000000000..619fd0205b51
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/iconpack-jade/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, gtk3, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "iconpack-jade";
+  version = "1.23";
+
+  src = fetchFromGitHub {
+    owner = "madmaxms";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1q29ikfssn1vmwws3dry4ssq6b44afd9sb7dwv3rdqg0frabpj1m";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    cp -a Jade* $out/share/icons
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Icon pack based upon Faenza and Mint-X";
+    homepage = "https://github.com/madmaxms/iconpack-jade";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix b/nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix
new file mode 100644
index 000000000000..8fe21aabe36f
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/iconpack-obsidian/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, gtk3, gnome-icon-theme, mint-x-icons, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "iconpack-obsidian";
+  version = "4.13";
+
+  src = fetchFromGitHub {
+    owner = "madmaxms";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1hh0hnd2d08l4n5r73fkngv08f8230pp94k9qq8xgmchvjfg6j8y";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [ gnome-icon-theme mint-x-icons hicolor-icon-theme ];
+  # still missing parent themes: Ambiant-MATE, Faenza-Dark, KFaenza
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    mv Obsidian* $out/share/icons
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Gnome icon pack based upon Faenza";
+    homepage = "https://github.com/madmaxms/iconpack-obsidian";
+    license = licenses.lgpl3;
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/iso-flags/default.nix b/nixpkgs/pkgs/data/icons/iso-flags/default.nix
new file mode 100644
index 000000000000..b329a151c728
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/iso-flags/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, fetchFromGitHub
+, perl
+, perlPackages
+, inkscape
+, pngcrush
+, librsvg
+, targets ? [ "all" ]
+}:
+
+stdenv.mkDerivation {
+  pname = "iso-flags";
+  version = "unstable-18012020";
+
+  src = fetchFromGitHub {
+    owner = "joielechong";
+    repo = "iso-country-flags-svg-collection";
+    rev = "9ebbd577b9a70fbfd9a1931be80c66e0d2f31a9d";
+    sha256 = "17bm7w4md56xywixfvp7vr3d6ihvxk3383i9i4rpmgm6qa9dyxdl";
+  };
+
+  nativeBuildInputs = [
+    perl
+    inkscape
+    librsvg
+    (perl.withPackages(pp: with pp; [ JSON XMLLibXML ]))
+  ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  buildFlags = targets;
+
+  installPhase = ''
+    mkdir -p $out/share
+    mv build $out/share/iso-flags
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/joielechong/iso-country-flags-svg-collection";
+    description = "248 country flag SVG & PNG icons with different icon styles";
+    license = [ licenses.publicDomain ];
+    platforms = platforms.linux; # the output assets should work anywhere, but unsure about the tools to build them...
+    maintainers = [ maintainers.mkg20001 ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/luna-icons/default.nix b/nixpkgs/pkgs/data/icons/luna-icons/default.nix
new file mode 100644
index 000000000000..3125df5fe1cf
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/luna-icons/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, fetchFromGitHub
+, gtk3
+, breeze-icons
+, hicolor-icon-theme
+, pantheon
+}:
+
+stdenv.mkDerivation rec {
+  pname = "luna-icons";
+  version = "2020-08-09";
+
+  src = fetchFromGitHub {
+    owner = "darkomarko42";
+    repo = pname;
+    rev = "d32aacabcc018212c460833327e1b54a716a5a23";
+    sha256 = "1f1ypxcvmd97afn7612i8gxmbrj80vx45vqrrh3n0p65jw5lg7zc";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    breeze-icons
+    hicolor-icon-theme
+    pantheon.elementary-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/icons
+    cp -a Luna* $out/share/icons
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Icon pack based on marwaita and papirus icons";
+    homepage = "https://github.com/darkomarko42/Luna-Icons";
+    license = [ licenses.gpl3Only ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix
new file mode 100644
index 000000000000..ee539981fbca
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/maia-icon-theme/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitLab, cmake, extra-cmake-modules, gtk3, kdeFrameworks, hicolor-icon-theme }:
+
+stdenv.mkDerivation {
+  pname = "maia-icon-theme";
+  version = "2018-02-24";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.manjaro.org";
+    group = "artwork";
+    owner = "themes";
+    repo = "maia";
+    rev = "b61312cc80cb9d12b0d8a55b3e61668eb6b77d2d";
+    sha256 = "1g98snlh96z4sqw9sfd7fxgamh45pcj3lh1kcmng7mirvrcn2pam";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    gtk3
+    kdeFrameworks.plasma-framework
+    kdeFrameworks.kwindowsystem
+  ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postInstall = ''
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Icons based on Breeze and Super Flat Remix";
+    homepage = "https://gitlab.manjaro.org/artwork/themes/maia";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ mounium ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix
new file mode 100644
index 000000000000..d481f2df8d6e
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/moka-icon-theme/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, faba-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "moka-icon-theme";
+  version = "5.4.0";
+
+  src = fetchFromGitHub {
+    owner = "snwh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    gtk3
+    python3
+  ];
+
+  propagatedBuildInputs = [
+    faba-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postPatch = ''
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An icon theme designed with a minimal flat style using simple geometry and bright colours";
+    homepage = "https://snwh.org/moka";
+    license = with licenses; [ cc-by-sa-40 gpl3 ];
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/numix-cursor-theme/default.nix b/nixpkgs/pkgs/data/icons/numix-cursor-theme/default.nix
new file mode 100644
index 000000000000..d0411a8c5697
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/numix-cursor-theme/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, inkscape, xcursorgen }:
+
+stdenv.mkDerivation rec {
+  version = "1.1";
+  package-name = "numix-cursor-theme";
+  name = "${package-name}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "numixproject";
+    repo = package-name;
+    rev = "v${version}";
+    sha256 = "0p8h48wsy3z5dz9vdnp01fpn6q8ky0h74l5qgixlip557bsa1spi";
+  };
+
+  nativeBuildInputs = [ inkscape xcursorgen ];
+
+  buildPhase = ''
+    patchShebangs .
+    HOME=$TMP ./build.sh
+  '';
+
+  installPhase = ''
+    install -dm 755 $out/share/icons
+    cp -dr --no-preserve='ownership' Numix-Cursor{,-Light} $out/share/icons/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Numix cursor theme";
+    homepage = "https://numixproject.github.io";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ offline ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
new file mode 100644
index 000000000000..f43ca473f0dd
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "numix-icon-theme-circle";
+  version = "20.07.11";
+
+  src = fetchFromGitHub {
+    owner = "numixproject";
+    repo = pname;
+    rev = version;
+    sha256 = "0vj3d3wb12ksnkm99s32k7nrf9m5j83zzvkd0rwk8l0b30df975j";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [ numix-icon-theme hicolor-icon-theme ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/icons
+    cp -a Numix-Circle{,-Light} $out/share/icons
+
+    for panel in $out/share/icons/*/*/panel; do
+      ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
+    done
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Numix icon theme (circle version)";
+    homepage = "https://numixproject.github.io";
+    license = licenses.gpl3;
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
new file mode 100644
index 000000000000..51a2100d3aa3
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "numix-icon-theme-square";
+  version = "20.07.11";
+
+  src = fetchFromGitHub {
+    owner = "numixproject";
+    repo = pname;
+    rev = version;
+    sha256 = "07jy8l2r6grn7pabn3dnkc8j7xdykl7k57br30c6v61ss8paf2rw";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [ numix-icon-theme hicolor-icon-theme ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/icons
+    cp -a Numix-Square{,-Light} $out/share/icons
+
+    for panel in $out/share/icons/*/*/panel; do
+      ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
+    done
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Numix icon theme (square version)";
+    homepage = "https://numixproject.github.io";
+    license = licenses.gpl3;
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix
new file mode 100644
index 000000000000..30e212629e86
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/numix-icon-theme/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, gtk3, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "numix-icon-theme";
+  version = "20.06.07";
+
+  src = fetchFromGitHub {
+    owner = "numixproject";
+    repo = pname;
+    rev = version;
+    sha256 = "1yp9parc8ihmai8pswf4qzrqd88qpls87ipq8ylx38yqns7wsn4h";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    cp -a Numix{,-Light} $out/share/icons/
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Numix icon theme";
+    homepage = "https://numixproject.github.io";
+    license = licenses.gpl3;
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix
new file mode 100644
index 000000000000..585190a7b382
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/paper-icon-theme/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, gnome3, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "paper-icon-theme";
+  version = "2018-06-24";
+
+  src = fetchFromGitHub {
+    owner = "snwh";
+    repo = pname;
+    rev = "c7cd013fba06dd8fd5cdff9f885520e2923266b8";
+    sha256 = "0x45zkjnmbz904df63ph06npbm3phpgck4xwyymx8r8jgrfplk6v";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    gtk3
+    python3
+  ];
+
+  propagatedBuildInputs = [
+    gnome3.adwaita-icon-theme
+    gnome-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postPatch = ''
+    patchShebangs meson/post_install.py
+  '';
+
+  postInstall = ''
+    # The cache for Paper-Mono-Dark is missing
+    gtk-update-icon-cache "$out"/share/icons/Paper-Mono-Dark;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Modern icon theme designed around bold colours and simple geometric shapes";
+    homepage = "https://snwh.org/paper";
+    license = with licenses; [ cc-by-sa-40 lgpl3 ];
+    # darwin cannot deal with file names differing only in case
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
new file mode 100644
index 000000000000..9227ceb49158
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, gtk3, pantheon, breeze-icons, gnome-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "papirus-icon-theme";
+  version = "20200801";
+
+  src = fetchFromGitHub {
+    owner = "PapirusDevelopmentTeam";
+    repo = pname;
+    rev = version;
+    sha256 = "0w9ks8izxv7mkh82fnclfcdf6mif991dsbbnxsqmcbvljrmjval2";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    pantheon.elementary-icon-theme
+    breeze-icons
+    gnome-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    mv {,e}Papirus* $out/share/icons
+
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Papirus icon theme";
+    homepage = "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme";
+    license = licenses.lgpl3;
+    # darwin gives hash mismatch in source, probably because of file names differing only in case
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/papirus-maia-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-maia-icon-theme/default.nix
new file mode 100644
index 000000000000..4cfe50d7836b
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/papirus-maia-icon-theme/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, cmake, gtk3, breeze-icons, gnome-icon-theme, papirus-icon-theme, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "papirus-maia-icon-theme";
+  version = "2019-07-26";
+
+  src = fetchFromGitHub {
+    owner = "Ste74";
+    repo = pname;
+    rev = "90d47c817cc0edeed8b5a90335e669948ff4a116";
+    sha256 = "0d6lvdg5nw5wfaq8lxszcws174vg12ywkrqzn6czimhmhp48jf5p";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    breeze-icons
+    gnome-icon-theme
+    papirus-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --replace /usr "$out"
+  '';
+
+  postInstall = ''
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Manjaro variation of Papirus icon theme";
+    homepage = "https://github.com/Ste74/papirus-maia-icon-theme";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/pop-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/pop-icon-theme/default.nix
new file mode 100644
index 000000000000..76b393dcf791
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/pop-icon-theme/default.nix
@@ -0,0 +1,45 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, gtk3
+, breeze-icons
+, gnome3
+, pantheon
+, hicolor-icon-theme
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pop-icon-theme";
+  version = "2020-03-04";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = "icon-theme";
+    rev = "11f18cb48455b47b6535018f1968777100471be1";
+    sha256 = "1s4pjwv2ynw400gnzgzczlxzw3gxh5s8cxxbi9zpxq4wzjg6jqyv";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    breeze-icons
+    gnome3.adwaita-icon-theme
+    pantheon.elementary-icon-theme
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  meta = with stdenv.lib; {
+    description = "Icon theme for Pop!_OS with a semi-flat design and raised 3D motifs";
+    homepage = "https://github.com/pop-os/icon-theme";
+    license = with licenses; [ cc-by-sa-40 gpl3 ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix
new file mode 100644
index 000000000000..2a9a895b6caf
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/qogir-icon-theme/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "qogir-icon-theme";
+  version = "2020-06-22";
+
+  src = fetchFromGitHub {
+    owner = "vinceliuice";
+    repo = pname;
+    rev = version;
+    sha256 = "0s5fhwfhn4qgk198jw736byxdrfm42l5m681pllbhg02j8ld4iik";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  propagatedBuildInputs = [ hicolor-icon-theme ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    patchShebangs install.sh
+    mkdir -p $out/share/icons
+    name= ./install.sh -d $out/share/icons
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flat colorful design icon theme";
+    homepage = "https://github.com/vinceliuice/Qogir-icon-theme";
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix
new file mode 100644
index 000000000000..f1b59c2f5386
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/tango-icon-theme/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, intltool, pkgconfig, iconnamingutils, imagemagick, librsvg
+, gtk/*any version*/, gnome-icon-theme, hicolor-icon-theme
+}:
+
+stdenv.mkDerivation rec {
+  name = "tango-icon-theme-0.8.90";
+
+  src = fetchurl {
+    url = "http://tango.freedesktop.org/releases/${name}.tar.gz";
+    sha256 = "13n8cpml71w6zfm2jz5fa7r1z18qlzk4gv07r6n1in2p5l1xi63f";
+  };
+
+  patches = [ ./rsvg-convert.patch ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ intltool iconnamingutils imagemagick librsvg ];
+  propagatedBuildInputs = [ gnome-icon-theme hicolor-icon-theme ];
+  # still missing parent icon themes: cristalsvg
+
+  dontDropIconThemeCache = true;
+
+  configureFlags = [ "--enable-png-creation" ];
+
+  postInstall = '''${gtk.out}/bin/gtk-update-icon-cache' "$out/share/icons/Tango" '';
+
+  meta = {
+    description = "A basic set of icons";
+    homepage = "http://tango.freedesktop.org/Tango_Icon_Library";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/tango-icon-theme/rsvg-convert.patch b/nixpkgs/pkgs/data/icons/tango-icon-theme/rsvg-convert.patch
new file mode 100644
index 000000000000..ee3d00ccf3ed
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/tango-icon-theme/rsvg-convert.patch
@@ -0,0 +1,34 @@
+Based on https://build.opensuse.org/package/view_file?file=tango-icon-theme-rsvg-2_35_2.patch&package=tango-icon-theme&project=openSUSE%3A12.2&rev=faf71bf8278d5df6ec8a31726e5b8542
+
+diff -ru -x '*~' tango-icon-theme-0.8.90/configure tango-icon-theme-0.8.90-new/configure
+--- tango-icon-theme-0.8.90/configure	2009-02-26 04:08:00.000000000 +0100
++++ tango-icon-theme-0.8.90-new/configure	2013-08-15 17:54:24.167065399 +0200
+@@ -6554,7 +6554,7 @@
+   enable_large_bitmaps=no
+ fi
+    if test "x$enable_large_bitmaps" = "xyes"; then
+-      svgconvert_prog="rsvg"
++      svgconvert_prog="rsvg-convert"
+    else
+       svgconvert_prog="ksvgtopng"
+    fi
+diff -ru -x '*~' tango-icon-theme-0.8.90/svg2png.sh.in tango-icon-theme-0.8.90-new/svg2png.sh.in
+--- tango-icon-theme-0.8.90/svg2png.sh.in	2007-02-16 21:04:29.000000000 +0100
++++ tango-icon-theme-0.8.90-new/svg2png.sh.in	2013-08-15 17:54:08.275084837 +0200
+@@ -9,12 +9,14 @@
+ 
+ ICONFILE=`basename ${3}`
+ ICONNAME=`echo ${ICONFILE} | sed -e "s/.svg//"`
+-if test `basename $SVGCONVERT` = "rsvg"; then
++if test `basename $SVGCONVERT` = "rsvg-convert"; then
+     OPTIONS="-w ${1} -h ${1}"
++    OUTPUT="-o"
+ else
+     OPTIONS="${1} ${1}"
++    OUTPUT=""
+ fi
+ 
+ echo "${SVGCONVERT} ${OPTIONS} ${3} ${2}/${ICONNAME}.png"
+-${SVGCONVERT} ${OPTIONS} ${3} ${2}/${ICONNAME}.png
++${SVGCONVERT} ${OPTIONS} ${3} ${OUTPUT} ${2}/${ICONNAME}.png
+ 
diff --git a/nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix b/nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix
new file mode 100644
index 000000000000..55ba320bc988
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/vanilla-dmz/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, lib
+, fetchzip
+, xorg
+, hicolor-icon-theme
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vanilla-dmz";
+  version = "0.4.5";
+
+  src = fetchzip {
+    url = "mirror://debian/pool/main/d/dmz-cursor-theme/dmz-cursor-theme_${version}.tar.xz";
+    sha256 = "14r8fri4byyzavzdifpga6118hxqjwpzd11xxj28s16zxcanq16m";
+  };
+
+  buildInputs = [
+    xorg.xcursorgen
+  ];
+
+  propagatedBuildInputs = [
+    hicolor-icon-theme
+  ];
+
+  dontDropIconThemeCache = true;
+
+  buildPhase = ''
+    cd DMZ-White/pngs; ./make.sh; cd -
+    cd DMZ-Black/pngs; ./make.sh; cd -
+  '';
+
+  installPhase = ''
+    install -d $out/share/icons/Vanilla-DMZ/cursors
+    cp -a DMZ-White/xcursors/* $out/share/icons/Vanilla-DMZ/cursors
+    install -Dm644 DMZ-White/index.theme $out/share/icons/Vanilla-DMZ/index.theme
+
+    install -d $out/share/icons/Vanilla-DMZ-AA/cursors
+    cp -a DMZ-Black/xcursors/* $out/share/icons/Vanilla-DMZ-AA/cursors
+    install -Dm644 DMZ-Black/index.theme $out/share/icons/Vanilla-DMZ-AA/index.theme
+  '';
+
+  meta = with lib; {
+    homepage = "http://jimmac.musichall.cz";
+    description = "A style neutral scalable cursor theme";
+    platforms = platforms.all;
+    license = licenses.cc-by-sa-30;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/icons/zafiro-icons/default.nix b/nixpkgs/pkgs/data/icons/zafiro-icons/default.nix
new file mode 100644
index 000000000000..a8dc4539a7dd
--- /dev/null
+++ b/nixpkgs/pkgs/data/icons/zafiro-icons/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchFromGitHub, gtk3, breeze-icons, gnome-icon-theme, numix-icon-theme, numix-icon-theme-circle, hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  pname = "zafiro-icons";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "zayronxio";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "05h8qm9izjbp8pnl9jpbw3y9sddhp0zmg94fm1k4d4hhdqnakqhv";
+  };
+
+  nativeBuildInputs = [
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    breeze-icons
+    gnome-icon-theme
+    numix-icon-theme
+    numix-icon-theme-circle
+    hicolor-icon-theme
+    # still missing parent icon themes: Surfn
+  ];
+
+  dontDropIconThemeCache = true;
+
+  installPhase = ''
+    mkdir -p $out/share/icons/Zafiro-icons
+    cp -a * $out/share/icons/Zafiro-icons
+    gtk-update-icon-cache "$out"/share/icons/Zafiro-icons
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Icon pack flat with light colors";
+    homepage = "https://github.com/zayronxio/Zafiro-icons";
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}