about summary refs log tree commit diff
path: root/nixpkgs/pkgs/data/icons/whitesur-icon-theme/default.nix
blob: 95f41caca1aa11c1bc4c7e24f74d4a5941378155 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{ lib
, stdenvNoCC
, fetchFromGitHub
, gtk3
, gnome
, gnome-icon-theme
, hicolor-icon-theme
}:

stdenvNoCC.mkDerivation rec {
  pname = "Whitesur-icon-theme";
  version = "2021-05-20";

  src = fetchFromGitHub {
    owner = "vinceliuice";
    repo = pname;
    rev = version;
    sha256 = "KboUYozTleOBKNun66g2oj7u/36hyQsPtRSk/x/LAWo=";
  };

  nativeBuildInputs = [ gtk3 ];

  buildInputs = [
    gnome-icon-theme
    gnome.adwaita-icon-theme
    hicolor-icon-theme
  ];

  dontDropIconThemeCache = true;

  installPhase = ''
    runHook preInstall

    mkdir -p $out/share/icons/WhiteSur{,-dark}/status
    echo "$out/share/icons/WhiteSur/status $out/share/icons/WhiteSur-dark/status" | xargs -n 1 cp -r src/status/{16,22,24,32,symbolic}
    echo "$out/share/icons/WhiteSur $out/share/icons/WhiteSur-dark" | xargs -n 1 cp -r ./{COPYING,AUTHORS} src/index.theme src/{actions,animations,apps,categories,devices,emblems,mimes,places} links/{actions,apps,categories,devices,emblems,mimes,places,status}

    # Change icon color for dark theme
    sed -i "s/#363636/#dedede/g" $out/share/icons/WhiteSur-dark/{actions,devices,places,status}/{16,22,24}/*
    sed -i "s/#363636/#dedede/g" $out/share/icons/WhiteSur-dark/actions/32/*
    sed -i "s/#363636/#dedede/g" $out/share/icons/WhiteSur-dark/{actions,apps,categories,emblems,devices,mimes,places,status}/symbolic/*

    for f in actions animations apps categories devices emblems mimes places status; do
      ln -sf $out/share/icons/WhiteSur/$f $out/share/icons/WhiteSur/$f@2x
      ln -sf $out/share/icons/WhiteSur-dark/$f $out/share/icons/WhiteSur-dark/$f@2x
    done

    for theme in $out/share/icons/*; do
      gtk-update-icon-cache $theme
    done

    runHook postInstall
  '';

  meta = with lib; {
    description = "MacOS Big Sur style icon theme for Linux desktops";
    homepage = "https://github.com/vinceliuice/WhiteSur-icon-theme";
    license = licenses.gpl3Plus;
    platforms = platforms.linux;
    maintainers = with maintainers; [ icy-thought ];
  };

}