nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at netboot-syslinux-multiplatform 133 lines 4.0 kB view raw
1{ lib 2, stdenvNoCC 3, fetchFromGitHub 4, fetchurl 5, glib 6, gnome-shell 7, gtk-engine-murrine 8, gtk_engines 9, inkscape 10, jdupes 11, optipng 12, sassc 13, which 14, buttonSizeVariants ? [] # default to standard 15, buttonVariants ? [] # default to all 16, colorVariants ? [] # default to all 17, opacityVariants ? [] # default to all 18, themeVariants ? [] # default to MacOS blue 19, wallpapers ? false 20, gitUpdater 21}: 22 23let 24 pname = "mojave-gtk-theme"; 25in 26lib.checkListOfEnum "${pname}: button size variants" [ "standard" "small" ] buttonSizeVariants 27lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants 28lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants 29lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants 30lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants 31 32stdenvNoCC.mkDerivation rec { 33 inherit pname; 34 version = "2022-10-21"; 35 36 srcs = [ 37 (fetchFromGitHub { 38 owner = "vinceliuice"; 39 repo = pname; 40 rev = version; 41 sha256 = "sha256-0OqQXyv/fcbKTzvQUVIbUw5Y27hU1bzwx/0DelMEZIs="; 42 }) 43 ] 44 ++ 45 lib.optional wallpapers 46 (fetchurl { 47 url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz"; 48 sha256 = "18zzkwm1kqzsdaj8swf0xby1n65gxnyslpw4lnxcx1rphip0rwf7"; 49 }) 50 ; 51 52 sourceRoot = "source"; 53 54 nativeBuildInputs = [ 55 glib 56 gnome-shell 57 inkscape 58 jdupes 59 optipng 60 sassc 61 which 62 ]; 63 64 buildInputs = [ 65 gtk_engines 66 ]; 67 68 propagatedUserEnvPkgs = [ 69 gtk-engine-murrine 70 ]; 71 72 # These fixup steps are slow and unnecessary. 73 dontPatchELF = true; 74 dontRewriteSymlinks = true; 75 76 postPatch = '' 77 patchShebangs \ 78 install.sh \ 79 src/main/gtk-3.0/make_gresource_xml.sh \ 80 src/main/gtk-4.0/make_gresource_xml.sh 81 82 for f in \ 83 render-assets.sh \ 84 src/assets/cinnamon/thumbnails/render-thumbnails.sh \ 85 src/assets/gtk-2.0/render-assets.sh \ 86 src/assets/gtk/common-assets/render-assets.sh \ 87 src/assets/gtk/thumbnails/render-thumbnails.sh \ 88 src/assets/gtk/windows-assets/render-alt-assets.sh \ 89 src/assets/gtk/windows-assets/render-alt-small-assets.sh \ 90 src/assets/gtk/windows-assets/render-assets.sh \ 91 src/assets/gtk/windows-assets/render-small-assets.sh \ 92 src/assets/metacity-1/render-assets.sh \ 93 src/assets/xfwm4/render-assets.sh 94 do 95 patchShebangs $f 96 substituteInPlace $f \ 97 --replace /usr/bin/inkscape ${inkscape}/bin/inkscape \ 98 --replace /usr/bin/optipng ${optipng}/bin/optipng 99 done 100 ''; 101 102 installPhase = '' 103 runHook preInstall 104 105 name= ./install.sh \ 106 ${lib.optionalString (buttonSizeVariants != []) "--small " + builtins.toString buttonSizeVariants} \ 107 ${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \ 108 ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ 109 ${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \ 110 ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ 111 --dest $out/share/themes 112 113 ${lib.optionalString wallpapers '' 114 install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/* 115 ''} 116 117 # Replace duplicate files with soft links to the first file in each 118 # set of duplicates, reducing the installed size in about 53% 119 jdupes --quiet --link-soft --recurse $out/share 120 121 runHook postInstall 122 ''; 123 124 passthru.updateScript = gitUpdater { }; 125 126 meta = with lib; { 127 description = "Mac OSX Mojave like theme for GTK based desktop environments"; 128 homepage = "https://github.com/vinceliuice/Mojave-gtk-theme"; 129 license = licenses.gpl3Only; 130 platforms = platforms.unix; 131 maintainers = [ maintainers.romildo ]; 132 }; 133}