diff --git a/pkgs/data/icons/fluent-icon-theme/default.nix b/pkgs/data/icons/fluent-icon-theme/default.nix new file mode 100644 index 000000000000..c3e4f71e6cdc --- /dev/null +++ b/pkgs/data/icons/fluent-icon-theme/default.nix @@ -0,0 +1,73 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +, gtk3 +, hicolor-icon-theme +, jdupes +, roundedIcons ? false +, blackPanelIcons ? false +, colorVariants ? [] +, +}: +let + pname = "Fluent-icon-theme"; +in +lib.checkListOfEnum "${pname}: available color variants" [ + "standard" + "green" + "grey" + "orange" + "pink" + "purple" + "red" + "yellow" + "teal" + "all" +] colorVariants + +stdenvNoCC.mkDerivation rec { + inherit pname; + version = "2022-02-28"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "UMj3qF9lhd9kM7J/3RtG3AiWlBontrowfsFOb3yr0tQ="; + }; + + nativeBuildInputs = [ gtk3 jdupes ]; + + buildInputs = [ hicolor-icon-theme ]; + + # Unnecessary & slow fixup's + dontPatchELF = true; + dontRewriteSymlinks = true; + dontDropIconThemeCache = true; + + postPatch = '' + patchShebangs install.sh + ''; + + installPhase = '' + runHook preInstall + + ./install.sh --dest $out/share/icons \ + --name Fluent \ + ${builtins.toString colorVariants} \ + ${lib.optionalString roundedIcons "--round"} \ + ${lib.optionalString blackPanelIcons "--black"} + + jdupes --link-soft --recurse $out/share + + runHook postInstall + ''; + + meta = with lib; { + description = "Fluent icon theme for linux desktops"; + homepage = "https://github.com/vinceliuice/Fluent-icon-theme"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ icy-thought ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9f2923527f93..776b4789b37b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25258,6 +25258,8 @@ with pkgs; flat-remix-gtk = callPackage ../data/themes/flat-remix-gtk { }; flat-remix-gnome = callPackage ../data/themes/flat-remix-gnome { }; + fluent-icon-theme = callPackage ../data/icons/fluent-icon-theme { }; + font-awesome_4 = (callPackage ../data/fonts/font-awesome { }).v4; font-awesome_5 = (callPackage ../data/fonts/font-awesome { }).v5; font-awesome_6 = (callPackage ../data/fonts/font-awesome { }).v6;