about summary refs log tree commit diff
path: root/pkgs/data
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/documentation/man-pages/default.nix19
-rw-r--r--pkgs/data/fonts/babelstone-han/default.nix2
-rw-r--r--pkgs/data/fonts/bront/default.nix2
-rw-r--r--pkgs/data/fonts/fira-code/default.nix10
-rw-r--r--pkgs/data/fonts/fira-mono/default.nix33
-rw-r--r--pkgs/data/fonts/fira/default.nix37
-rw-r--r--pkgs/data/fonts/google-fonts/default.nix13
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/default.nix8
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix180
-rw-r--r--pkgs/data/fonts/junicode/tests.nix7
-rw-r--r--pkgs/data/fonts/lxgw-neoxihei/default.nix32
-rw-r--r--pkgs/data/fonts/material-icons/default.nix22
-rw-r--r--pkgs/data/fonts/nasin-nanpa/default.nix23
-rw-r--r--pkgs/data/fonts/nerdfonts/shas.nix131
-rw-r--r--pkgs/data/fonts/nerdfonts/version.nix2
-rw-r--r--pkgs/data/fonts/sketchybar-app-font/default.nix101
-rw-r--r--pkgs/data/fonts/spleen/default.nix4
-rw-r--r--pkgs/data/fonts/u001/default.nix7
-rw-r--r--pkgs/data/fonts/victor-mono/default.nix4
-rw-r--r--pkgs/data/icons/bibata-cursors/default.nix44
-rw-r--r--pkgs/data/icons/catppuccin-cursors/default.nix3
-rw-r--r--pkgs/data/icons/comixcursors/default.nix3
-rw-r--r--pkgs/data/icons/elementary-xfce-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--pkgs/data/icons/phinger-cursors/default.nix4
-rw-r--r--pkgs/data/icons/pop-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/whitesur-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/clash-geoip/default.nix4
-rw-r--r--pkgs/data/misc/conway_polynomials/default.nix41
-rw-r--r--pkgs/data/misc/dbip-country-lite/default.nix4
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/iana-etc/default.nix4
-rw-r--r--pkgs/data/misc/nixos-artwork/icons.nix28
-rw-r--r--pkgs/data/misc/rime-data/default.nix6
-rw-r--r--pkgs/data/misc/rime-data/fetchSchema.nix52
-rw-r--r--pkgs/data/misc/sing-geoip/default.nix18
-rw-r--r--pkgs/data/misc/sing-geoip/main.go68
-rw-r--r--pkgs/data/misc/sing-geosite/default.nix1
-rw-r--r--pkgs/data/misc/sing-geosite/main.go33
-rw-r--r--pkgs/data/misc/v2ray-domain-list-community/default.nix4
-rw-r--r--pkgs/data/themes/adw-gtk3/default.nix4
-rw-r--r--pkgs/data/themes/andromeda-gtk-theme/default.nix61
-rw-r--r--pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch17
-rw-r--r--pkgs/data/themes/catppuccin-gtk/default.nix11
-rw-r--r--pkgs/data/themes/catppuccin-kde/default.nix10
-rw-r--r--pkgs/data/themes/catppuccin-sddm-corners/default.nix24
-rw-r--r--pkgs/data/themes/catppuccin/default.nix14
-rw-r--r--pkgs/data/themes/colloid-gtk-theme/default.nix6
-rw-r--r--pkgs/data/themes/dracula-theme/default.nix6
-rw-r--r--pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix13
-rw-r--r--pkgs/data/themes/orchis-theme/default.nix4
-rw-r--r--pkgs/data/themes/where-is-my-sddm-theme/default.nix50
53 files changed, 627 insertions, 573 deletions
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 7befda407d48b..deb6a4005f666 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,26 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "man-pages";
-  version = "6.05.01";
+  version = "6.7";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
-    sha256 = "sha256-uWq2tEpojJHRtXLlL+zlGeHP0rtMM/5wFPw/0e8/nK4=";
+    hash = "sha256-gkA61LwXqtuST2hji3nWkwssvVUVMSSKepaId52077I=";
   };
 
-  makeFlags = [ "prefix=$(out)" ];
+  makeFlags = [
+    # Clobber /usr/bin/env with the one in PATH.
+    "SHELL=env"
+    "prefix=${placeholder "out"}"
+  ];
 
   dontBuild = true;
 
-  postInstall = ''
-    # conflict with shadow-utils
-    rm $out/share/man/man5/passwd.5 \
-       $out/share/man/man3/getspnam.3
-
-    # The manpath executable looks up manpages from PATH. And this package won't
-    # appear in PATH unless it has a /bin folder
-    mkdir -p $out/bin
-  '';
   outputDocdev = "out";
 
   enableParallelInstalling = true;
diff --git a/pkgs/data/fonts/babelstone-han/default.nix b/pkgs/data/fonts/babelstone-han/default.nix
index 9839295653d12..6dfad42d20865 100644
--- a/pkgs/data/fonts/babelstone-han/default.nix
+++ b/pkgs/data/fonts/babelstone-han/default.nix
@@ -23,7 +23,7 @@ stdenvNoCC.mkDerivation {
     description = "Unicode CJK font with over 36000 Han characters";
     homepage = "https://www.babelstone.co.uk/Fonts/Han.html";
 
-    license = licenses.free;
+    license = licenses.arphicpl;
     platforms = platforms.all;
     maintainers = with maintainers; [ emily ];
   };
diff --git a/pkgs/data/fonts/bront/default.nix b/pkgs/data/fonts/bront/default.nix
index d21c820f127b9..36e6adb380dfd 100644
--- a/pkgs/data/fonts/bront/default.nix
+++ b/pkgs/data/fonts/bront/default.nix
@@ -19,7 +19,7 @@ stdenvNoCC.mkDerivation {
     description = "Bront Fonts";
     longDescription = "Ubuntu Mono Bront and DejaVu Sans Mono Bront fonts.";
     homepage = "https://github.com/chrismwendt/bront";
-    license = licenses.free;
+    license = with licenses; [ bitstreamVera ufl ];
     platforms = platforms.all;
     maintainers = [ maintainers.grburst ];
   };
diff --git a/pkgs/data/fonts/fira-code/default.nix b/pkgs/data/fonts/fira-code/default.nix
index b0e63835156a5..553a2d5809883 100644
--- a/pkgs/data/fonts/fira-code/default.nix
+++ b/pkgs/data/fonts/fira-code/default.nix
@@ -1,11 +1,11 @@
-{ lib, stdenvNoCC, fetchzip }:
+{ lib, stdenvNoCC, fetchzip, useVariableFont ? true }:
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "fira-code";
   version = "6.2";
 
   src = fetchzip {
-    url = "https://github.com/tonsky/FiraCode/releases/download/${version}/Fira_Code_v${version}.zip";
+    url = "https://github.com/tonsky/FiraCode/releases/download/${finalAttrs.version}/Fira_Code_v${finalAttrs.version}.zip";
     stripRoot = false;
     hash = "sha256-UHOwZL9WpCHk6vZaqI/XfkZogKgycs5lWg1p0XdQt0A=";
   };
@@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    install -Dm644 variable_ttf/*-VF.ttf -t $out/share/fonts/truetype
+    install -Dm644 -t $out/share/fonts/truetype ${if useVariableFont then "variable_ttf/*-VF.ttf" else "ttf/*.ttf"}
 
     runHook postInstall
   '';
@@ -31,4 +31,4 @@ stdenvNoCC.mkDerivation rec {
     maintainers = [ maintainers.rycee ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/data/fonts/fira-mono/default.nix b/pkgs/data/fonts/fira-mono/default.nix
deleted file mode 100644
index 5d059dbf88e08..0000000000000
--- a/pkgs/data/fonts/fira-mono/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenvNoCC, fetchzip }:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "fira-mono";
-  version = "4.202";
-
-  src = fetchzip {
-    url = "https://github.com/mozilla/Fira/archive/${version}.zip";
-    hash = "sha256-HLReqgL0PXF5vOpwLN0GiRwnzkjGkEVEyOEV2Z4R0oQ=";
-  };
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm644 otf/FiraMono*.otf -t $out/share/fonts/opentype
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://mozilla.github.io/Fira/";
-    description = "Monospace font for Firefox OS";
-    longDescription = ''
-      Fira Mono is a monospace font designed by Erik Spiekermann,
-      Ralph du Carrois, Anja Meiners and Botio Nikoltchev of Carrois
-      Type Design for Mozilla Firefox OS. Available in Regular,
-      Medium, and Bold.
-    '';
-    license = licenses.ofl;
-    maintainers = [ maintainers.rycee ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/data/fonts/fira/default.nix b/pkgs/data/fonts/fira/default.nix
deleted file mode 100644
index 4b79d14dd94e7..0000000000000
--- a/pkgs/data/fonts/fira/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenvNoCC, fetchFromGitHub }:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "fira";
-  version = "4.202";
-
-  src = fetchFromGitHub {
-    owner = "mozilla";
-    repo = "Fira";
-    rev = version;
-    hash = "sha256-HLReqgL0PXF5vOpwLN0GiRwnzkjGkEVEyOEV2Z4R0oQ=";
-  };
-
-  installPhase = ''
-    runHook preInstall
-
-    install --mode=-x -Dt $out/share/fonts/opentype otf/*.otf
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://mozilla.github.io/Fira/";
-    description = "Sans-serif font for Firefox OS";
-    longDescription = ''
-      Fira Sans is a sans-serif font designed by Erik Spiekermann,
-      Ralph du Carrois, Anja Meiners and Botio Nikoltchev of Carrois
-      Type Design for Mozilla Firefox OS.  It is closely related to
-      Spiekermann's FF Meta typeface.  Available in Two, Four, Eight,
-      Hair, Thin, Ultra Light, Extra Light, Light, Book, Regular,
-      Medium, Semi Bold, Bold, Extra Bold, Heavy weights with
-      corresponding italic versions.
-    '';
-    license = licenses.ofl;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/data/fonts/google-fonts/default.nix b/pkgs/data/fonts/google-fonts/default.nix
index d0f055166805e..bb3fc3ab0c1db 100644
--- a/pkgs/data/fonts/google-fonts/default.nix
+++ b/pkgs/data/fonts/google-fonts/default.nix
@@ -40,12 +40,10 @@ stdenvNoCC.mkDerivation {
 
   dontBuild = true;
 
-  # The font files are in the fonts directory and use two naming schemes:
-  # FamilyName-StyleName.ttf and FamilyName[param1,param2,...].ttf
-  # This installs all fonts if fonts is empty and otherwise only
-  # the specified fonts by FamilyName. To do this, it invokes
-  # `find` 2 times for every font, anyone is free to do this
-  # in a more efficient way.
+  # The font files are in the fonts directory and use three naming schemes:
+  # FamilyName-StyleName.ttf, FamilyName[param1,param2,...].ttf, and
+  # FamilyName.ttf. This installs all fonts if fonts is empty and otherwise
+  # only the specified fonts by FamilyName.
   fonts = map (font: builtins.replaceStrings [" "] [""] font) fonts;
   installPhase = ''
     adobeBlankDest=$adobeBlank/share/fonts/truetype
@@ -56,8 +54,7 @@ stdenvNoCC.mkDerivation {
     find . -name '*.ttf' -exec install -m 444 -Dt $dest '{}' +
   '' else ''
     for font in $fonts; do
-      find . -name "$font-*.ttf" -exec install -m 444 -Dt $dest '{}' +
-      find . -name "$font[*.ttf" -exec install -m 444 -Dt $dest '{}' +
+      find . \( -name "$font-*.ttf" -o -name "$font[*.ttf" -o -name "$font.ttf" \) -exec install -m 444 -Dt $dest '{}' +
     done
   '');
 
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 8c1d28cfda886..749658086bf50 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -17,7 +17,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "29.0.1";
+  version = "29.1.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index c379fe7ebb3bf..ad8f2c0a8e021 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
 
 buildNpmPackage rec {
   pname = "Iosevka${toString set}";
-  version = "28.1.0";
+  version = "29.2.0";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "iosevka";
     rev = "v${version}";
-    hash = "sha256-cYnGJ7Z0PDRZtC/vz8hX/+mqk7iVkajFTfNGgRW+edQ=";
+    hash = "sha256-7g0eogqiBdfTwg8btkHExrY4fpqf0hUZbvlElFtKrB8=";
   };
 
-  npmDepsHash = "sha256-bzQ7dc7UiC++0DxnQHusu6Ym7rd7GgeA6bGSnnla1nk=";
+  npmDepsHash = "sha256-lSKh16qN4EAmC0wtBokkFyl6Vung85vPTyr8Icc4rU0=";
 
   nativeBuildInputs = [
     remarshal
@@ -110,7 +110,7 @@ buildNpmPackage rec {
   buildPhase = ''
     export HOME=$TMPDIR
     runHook preBuild
-    npm run build --no-update-notifier -- --jCmd=$NIX_BUILD_CORES --verbose=9 ttf::$pname
+    npm run build --no-update-notifier --targets ttf::$pname -- --jCmd=$NIX_BUILD_CORES --verbose=9
     runHook postBuild
   '';
 
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 0ebf09f82621e..268f2c80f1b6c 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,93 +1,93 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  Iosevka = "1nahnfmivrwdy64xk4lkm8lb3zhj3q6prb8fhwkz0fw9jrl90qd4";
-  IosevkaAile = "1vk1bimj83yfzn8p0ww0mcw65r7s7d0nhx1s01wvpjdszq5z01g1";
-  IosevkaCurly = "13z9a6szvvl2jp0l47j9mad1bhxwps17r5awkj4i17lpwnh2j09g";
-  IosevkaCurlySlab = "1z7m6317a2bkdxv59as3zhhzh2wx39nmpw3nhgnx2rg23hl1ykih";
-  IosevkaEtoile = "0zj6bvvpmdfh3p6agn1jlb2pc6701fqgql2dp1lpivlrb85k2d5l";
-  IosevkaSlab = "1cvv8fc3a3rgslh9zy6lsbpijapsqx3cqckncbjyv9y10n4lff7p";
-  IosevkaSS01 = "0lxnjv3z794hd9y7rxzgi6kz7dcmgr6605s73bxj2k2zwjaj25ca";
-  IosevkaSS02 = "0axhww5zmj4rdif5hp3rqx6k4jb4kypcw2ixzq9dw4p2kjffnhkc";
-  IosevkaSS03 = "0iamdny07rlzc621w5q1pkmdiw50fcfkg8xp21syw78g07ip492j";
-  IosevkaSS04 = "0zxwaqbdsj9agp30ign1fvb80y33lirfhi5bsc003dc7g3s250xg";
-  IosevkaSS05 = "1is00nvqvnam87hy6vdd36jmsznsphqn81cs3dia68q2bh6v73gk";
-  IosevkaSS06 = "077fyfzkg8mhjazwa9fjf9gnh7ifdqxg2ycnzxdyma0dn3222wx2";
-  IosevkaSS07 = "19idgw1aq440hk704b729zgxrsgxc7yi57s8wgjclmf7bbdx22mx";
-  IosevkaSS08 = "0r2jdljp4arc4j2xa3av17rg3fzhjh5w1y54idzzhv0wxkhq6jpv";
-  IosevkaSS09 = "0dr50svi8p7ndhch7v9m17fck5yha2xbf11aqi5dnx823xnp0gzk";
-  IosevkaSS10 = "17gzdnyy0zlzysmbl4gwk0mamk1qj3gnhhx0ka3wacpykcgm2q7q";
-  IosevkaSS11 = "1cksgn1a923n70mwd9npmlgnz4mxm5jscf0svh9058v3grzkqw9s";
-  IosevkaSS12 = "11dj6r3vlfa695p0g21rmyh6ilvkp2286x1379r1r2a1l7s265sy";
-  IosevkaSS13 = "0wlkpaix8zh7sxvwi6sp7qyrziylaa0h0s4981yap9pc3wgp6d9h";
-  IosevkaSS14 = "1znw5762hl4g7zwz7360akrnyzk5cvfl3y6sa82ljwv1a2fdhfm0";
-  IosevkaSS15 = "09srcc7zi5b5is75mh2d8r9p10dnmd1yd78vmykwngdlxyhsphwp";
-  IosevkaSS16 = "1jmq4qkvld2g0d4j83zfby0qccv0wnfpqnx269dxcp5pw9nkq6d6";
-  IosevkaSS17 = "0yrjxj8fshpycv87hpqx0f71z8g79r0qb3r6kw8gk8mqviiifp88";
-  IosevkaSS18 = "0nx2pfgrgxhii2mv5zya51dwmlyk448p2kgxn52g79yj57f63ycl";
-  SGr-Iosevka = "0rgpswnkb87rkfqh7jzd8z7jqj6l5prrnx5hpsbd55091qw29yfw";
-  SGr-IosevkaCurly = "0h5ny3vqy5il9542zkr5hxgrq5qx4ky0g67m4nf5whyi2n1b7i2v";
-  SGr-IosevkaCurlySlab = "179vll8ywfpxzadwm4w7x70aav7na33dii4mjhx6dxmdbw9mwxjq";
-  SGr-IosevkaFixed = "0pvxc8na5hvdgddwgkr3vsn8mr0j06z8vy3519fdjq9mianvf0h9";
-  SGr-IosevkaFixedCurly = "0y58azsbq9zw1fxmdi36z939ss8mz099iipg0wynmsyckvla8ida";
-  SGr-IosevkaFixedCurlySlab = "1mkh496pp8fggsqlriz7125lcnh0vjm81csipsrpq55c17hkdqwg";
-  SGr-IosevkaFixedSlab = "1ss0j0x4c8wi4swjgl7hain5qh9dnvldhgki8n0azmi1qrxv2isx";
-  SGr-IosevkaFixedSS01 = "1xvrzib1srnp4v5mxrp8vi38lap53jf402hgipmfmdac3zhzybzw";
-  SGr-IosevkaFixedSS02 = "0bd66z5h8vzmm16s54kf4n694cqxsvniwhd1vp25wifkspq2giij";
-  SGr-IosevkaFixedSS03 = "08dx6b58mjq3fy2dnvw68vb12pq7rsplrrxhz3fygx6nv2mc7rnn";
-  SGr-IosevkaFixedSS04 = "0nj66p91kldzwzvaq2nwsmdc4v2qv2b3rwvcv8ffk23sacy7bci6";
-  SGr-IosevkaFixedSS05 = "19n22pfqfz8b80hbw8sj0l0f19g1yi737wgxg82s221w2zrzjgri";
-  SGr-IosevkaFixedSS06 = "1m65l05qrv2in9idbx53ialg8wkrszb3y516cy39n8f7ish5rdhl";
-  SGr-IosevkaFixedSS07 = "1fyphdwa352nnzvbighgxjmg31dfrswfwx2akq56v1jbssk5vpfa";
-  SGr-IosevkaFixedSS08 = "0b0l1p62nxc5k46wqz8dih2b4gn96b5mgpnqr6m5nhb8n1ygwqik";
-  SGr-IosevkaFixedSS09 = "1in2wg4c3ggvi3r8x7fcd4jm1qsh10ppng025m8n57j9ziz0a3s9";
-  SGr-IosevkaFixedSS10 = "0m7arqxzb368pz1ns05szk159ir07h5yy9x436csjg8cnqsdw426";
-  SGr-IosevkaFixedSS11 = "0vz1lasrhqwkpfawvy0p5ygcr9xkg3am9xc7xmnfspvydjmf8s5l";
-  SGr-IosevkaFixedSS12 = "052yjy84jika9r6w1ivh6l13h9300rydaraxjhp6shgmdknd3qhn";
-  SGr-IosevkaFixedSS13 = "09qs91m4bc9dl4bipz0sfpmd5b0vly6ql01zvbn5n4kwh4591l53";
-  SGr-IosevkaFixedSS14 = "1x6jwx9daivf7mgjip9n3klprmvqm2s2dhg2alcbcmk9xk45ldzv";
-  SGr-IosevkaFixedSS15 = "0p6d53zk7agpjsrjx97dm5xk5j45xx4ynq034r61hdm9dagh9p9w";
-  SGr-IosevkaFixedSS16 = "1n4w7p4a8plq0fw5hvsq601z6zcrx1793s8snczxfy8sd1ggw68h";
-  SGr-IosevkaFixedSS17 = "0paiwkkar6lzlggilds5z4qq7mw7qhcj8syn0hpyfivx1jh5zp0x";
-  SGr-IosevkaFixedSS18 = "0ghxl8zxpwz3sg89kx8s1qhrv5r7hcp77dv2k6wihfdqbi507pp6";
-  SGr-IosevkaSlab = "10d6miynr4ywjni5x306bkyimvrf8nxr9nq3khnfrm64al5kv8ly";
-  SGr-IosevkaSS01 = "19467salb40flls3fijskx6g9jjbw7kzni9fikr1141hd6rp7a9d";
-  SGr-IosevkaSS02 = "0vqyxrk3v48l6l1z5lvhqq56xff1v6pjr5q6n5nn8jlf22jmrdx3";
-  SGr-IosevkaSS03 = "1y39rdg4rap3l55ga2kjp7dxr4bi3g3n3mhm1f3s15xmjx9wh3hr";
-  SGr-IosevkaSS04 = "1igx2d1fh328w7jr8nz24kdh5jdr8gdp2hwmh5rg09jw400v9pph";
-  SGr-IosevkaSS05 = "0a7yw1nig9j64jhs9dmm26367f4b8d3kz55x2r0nny20l309iwc7";
-  SGr-IosevkaSS06 = "1diq8s859lh02pv2g6gq3d8f2wva0vh7mim3rygd5p6nhsz1z0ya";
-  SGr-IosevkaSS07 = "0y9kwms1qfnpdzzrsxrmla1vhvxldz7bj0162k9kfphmg49kdzp6";
-  SGr-IosevkaSS08 = "0zlgvck0c5rnkc6v0zfxl2bj2py1mvahag9f9x4z537b2f71miwb";
-  SGr-IosevkaSS09 = "0aqr55cyik59d807xwn4xbalq3hkj85wphxb713qcdqxh0fx14m3";
-  SGr-IosevkaSS10 = "0racfcw376s4z3kpb928d9kif6gqgcqyj6m0mpbwgap5fxjq227b";
-  SGr-IosevkaSS11 = "0pirg5pvmbs3c630x6fh685rnmqam7nciyvv00280fal8pn2q90d";
-  SGr-IosevkaSS12 = "0hm1jjsmi1chmvq4yf7fy2xsj2zvqxwhip0cn3ndhk35zi0y31dk";
-  SGr-IosevkaSS13 = "180pq16ax9inx454ar5biwfwi4n6h1zivg55czm50pb444a7lm6f";
-  SGr-IosevkaSS14 = "120cmw9s8cpjbdkvrl9cqy52pv5pxx1cy9ngbanhrma6pfssfq27";
-  SGr-IosevkaSS15 = "10x25vcpknig8bdd0iqb7i1s18l2m3r72kdmnxf227ba1gy4rizn";
-  SGr-IosevkaSS16 = "0jm07z7sgvr07zrzk51irxlnv8r1frsc5ay4yks3qh3gbphc35bb";
-  SGr-IosevkaSS17 = "103n3cy3vfcb7yirj78x0q73prw5c5hx2493daqy6qvhwb52xm4g";
-  SGr-IosevkaSS18 = "1grgq4147nh0g4d0dvcmmwz1xmhar4gdjv8rgng2z8fc4sbvlvjf";
-  SGr-IosevkaTerm = "0i356wmzxlii2wc15va2m4sl56lg099xyixjkcc5w2p57dycljl5";
-  SGr-IosevkaTermCurly = "1mna0m08wi2gmbmj2gdnk4z1pqvyvrbig2wrna104mcc121slnmg";
-  SGr-IosevkaTermCurlySlab = "06gy71wg5nkdx6nk1l97ag100if5fy44bc4bnj4v0whnd6a4rgvj";
-  SGr-IosevkaTermSlab = "1w2508a24rf21vaiy15pb0flk3gb7am8iv7x0px9bljpng9pnanr";
-  SGr-IosevkaTermSS01 = "1gnmr32n3z8hm8xjcix9bkip1hpp4fdhzqvvw5iwaa259xz1x6pf";
-  SGr-IosevkaTermSS02 = "19a88y4kpfxqw9fgy0yx6mv48mx5hmpijpc9bswn79lfxdhv2kc9";
-  SGr-IosevkaTermSS03 = "13y1i1gfzgf0p5x75kf61j4ya9gmphjw6wj5j6a3fx5nxg2856pi";
-  SGr-IosevkaTermSS04 = "1q1p6gj2wx1pp9s46rw08nrdpm87xgx67vmi2dllkf20azs264vp";
-  SGr-IosevkaTermSS05 = "1kkz5sb8i9fsj27zd4nvlvnfc6scq00nmw5vc7r700jn0aqzlhyb";
-  SGr-IosevkaTermSS06 = "1wbc1y2l8lqg0qcsf8iq0w6nglhsgns8dmvf94ay2mzwmq2acw1i";
-  SGr-IosevkaTermSS07 = "1s9wsmqlliy1rf7gj15p4z8vmlhyxq7c2w8hyqf5az97rqprx6ir";
-  SGr-IosevkaTermSS08 = "17cjrwnladjnmch73l55p8bhdnbpr2jk8r6ssrs3pr1pi4xiv5i2";
-  SGr-IosevkaTermSS09 = "16fy6pwh8qlnl1knp429rhvcx26ldcb0vri614cv87fwm7vvykql";
-  SGr-IosevkaTermSS10 = "0vg3qqhbc308m90h7cy1av62zy5a34rzl60kba3d1skq1mf9zwlm";
-  SGr-IosevkaTermSS11 = "08k73y8nrdzjn23fbpc5qn9gff8zvb65yb6hcrj359p0dxwx0r24";
-  SGr-IosevkaTermSS12 = "10vlww4by76a2yvczimhv5y8wcxl6ir5sal8qcfbkz11ml2fp5q6";
-  SGr-IosevkaTermSS13 = "1a62vdsdk5c42gi34gi345dqqirn7rqdpfj0chc3394wjdx3g1bl";
-  SGr-IosevkaTermSS14 = "0aq251sw84l8phys73589ky4xymbdglnn1ff07a6k862r3c1bzz0";
-  SGr-IosevkaTermSS15 = "0mslmw4ywgdfhz1xgpa2ybhxpa423l2f8dwgxz6ngmbrl8sbqcr9";
-  SGr-IosevkaTermSS16 = "1sr2sm1i6isivd3qgirxhgscf54sqw2cm5p7zhj9jqnmgsvvm1p2";
-  SGr-IosevkaTermSS17 = "00x3h0pp0q0hrqhy5mf0smf6gf5hxn19yvk6cnlsbkgfhgw5swh9";
-  SGr-IosevkaTermSS18 = "0nv7pqwwfwgrdam0f2104x8p4v1b4lvxqv1pzab32l1s61iw7jsz";
+  Iosevka = "1mz2l4j2kczk540gx2nbj40apympy9b7sih9nr3585yg14axihfa";
+  IosevkaAile = "0rlajr2gzj8n2jynz86yr382jbxffi6rygkb7a2psp6b91p3q8yg";
+  IosevkaCurly = "1zp5015qvrnzpp2hr8cxrdb8qw86bmn80cr7jwl119dmdsk7aaks";
+  IosevkaCurlySlab = "1lkq462j3a2bm791d67xsymdgz3fjjakakdzyjj3plvycg39rszd";
+  IosevkaEtoile = "17shszmnrsxis5hvafsp3j0p7izzqw9fv0j0bp7x0dxljdhj9f4x";
+  IosevkaSlab = "03xcj0y7m9rp9p9vh8mah83kap3bfssbxfpl4jwdjq661f43pkxw";
+  IosevkaSS01 = "1hc3x3m5p22483asdfy1anvlxvpagwf8k23kri0r5i003cyhs4kb";
+  IosevkaSS02 = "0rcmiirz5hkfb8pjsgz1sqjr6dj6w922yx60fz8icg5743q7n8gs";
+  IosevkaSS03 = "02lyihd7acr6ai22k78qk18zfgs63rmwv57v2hkz248nz04xhg5v";
+  IosevkaSS04 = "06by2zj9m5v70hpa7krf443817dikzyc1sawldgqjz83nwhnnbyq";
+  IosevkaSS05 = "1f6bvc47rc843n6a12j3mdf223df8rr542xjvg4zh9g6lmm35bj9";
+  IosevkaSS06 = "0vrpygvg5ywhqzam1yndmbxlq72fmab70ns6pmn9yx4gpa95gdr3";
+  IosevkaSS07 = "0g69bwhxgnk8lyqyvvg7hg88lfgakh4vjkxcjpqnymia3bd5siiy";
+  IosevkaSS08 = "0a02ar74m8cas3x9mfwi1ncbnvrgcipii17qip0c3f1d7a0qpf8i";
+  IosevkaSS09 = "1mh77424jxnf5hicy9v3kgzngy4cvh0kwkqpyfhdk8f7alqnlk8v";
+  IosevkaSS10 = "05bqjz33j78q4daf40js6rcli8q7i2y1ldxnpgsrlirk7cr3q88y";
+  IosevkaSS11 = "11blakgiqhvl5z34py7lw23m32f1qqinajrya1pi10i2q2kwhm06";
+  IosevkaSS12 = "0zb9xrw83a3g4rany2prkxw6x707rxziv0fjj1vjmdpxcdpmndi6";
+  IosevkaSS13 = "1li250cjnyihs1ha3y3xhw3fbr60bz068513zjf7pjqwjpaj1lqq";
+  IosevkaSS14 = "027g4lj3qqmq6m2bpk79i8bf0d402yqwnk800zzbhvgc32pmrwz5";
+  IosevkaSS15 = "0ndn2y8sq9b3667j4cvz5nqyfs5sldn231xba4q79naq4cgjphkl";
+  IosevkaSS16 = "17vndj8h8dcgbsvzmjvzyzj30zzpqjyxch346a1zhrpaq4slmahp";
+  IosevkaSS17 = "0y95r32x5z75nk3rqvqx9makr3lpkyap8zlwg1aq2hfcnfppf2mf";
+  IosevkaSS18 = "1w70hv0fapx3a7zmnrayzxc0wxsk6rc9czr2spjjy42l60nrf4fl";
+  SGr-Iosevka = "1n8haiwyvsxi9qf2h63jp2ilr9iqc7dgw7j3znji8dpwzvyl86hh";
+  SGr-IosevkaCurly = "0g86gdhqw231bgqy26shi8bm6216rvyxzwvnjis7hjqg3b312z9x";
+  SGr-IosevkaCurlySlab = "0cy1nzqn138cd1xipb76pz36dd3mgss2vmmqlbqwjjcwpr8h0s0s";
+  SGr-IosevkaFixed = "187g1q32blj0nkfd3yxjgscnz7zslh5k58abnx7fjd30s5n5yscr";
+  SGr-IosevkaFixedCurly = "1mgbbhazvqxm1r9cl6slr1y0bdna6h7as0q5iggh6zqan0zrr70c";
+  SGr-IosevkaFixedCurlySlab = "1v8gsjbl5136scnd06k7hhbkzsvjbg9j2g1xj5pgvda0lanqy0r4";
+  SGr-IosevkaFixedSlab = "05jf8yzkp61aggyb8rky9wlj16g9xfhf0qgr8n9p4wf51i1fikky";
+  SGr-IosevkaFixedSS01 = "1h43f0vn1hlv7676v620dss9ijwlnjkdjzf3zs590k5cm0xpfmfj";
+  SGr-IosevkaFixedSS02 = "004idwfv9fww05q44bdqcc1m47sjdkh0ybrv3k3djgkm4ii3irjf";
+  SGr-IosevkaFixedSS03 = "0l4i8fzy1ypfcb43475jyccij8a9s2bm7pvbbrckkhmi357f53mh";
+  SGr-IosevkaFixedSS04 = "15kmg0xvi1l32fd3swl5rz539xxif5vx57rr0byrg9bi9ksvsfg6";
+  SGr-IosevkaFixedSS05 = "07i8nd9z42xxjqb73if3zqznipgkjlvh06rckrp3k9ylpr608rgr";
+  SGr-IosevkaFixedSS06 = "0s9zh2v0qykqjrms8wbrarjid3vjd3d0mas7pl75d207smcy1sf2";
+  SGr-IosevkaFixedSS07 = "1bkqj44xjnafp1vmlyg91zpjwsqc991infbpcgrmm1kd7nxsdki1";
+  SGr-IosevkaFixedSS08 = "1jyrnc94cr47glmjn9as5yz534j2lzb171rr5ybmjf1f1iir8hh5";
+  SGr-IosevkaFixedSS09 = "1kpf263mjddjdl4nk06pp0x48ia73pyicvqkkk6jw556w0gbmd38";
+  SGr-IosevkaFixedSS10 = "0dx5bjc8xhxg6a6h6620v3nz3jnldq4is1cw2g4j0xxr2wigi1q2";
+  SGr-IosevkaFixedSS11 = "0zc66j2x7z95lycmi7phyjl7wxf8fxy0x6dywsksm54rzqpw2x2n";
+  SGr-IosevkaFixedSS12 = "0z7riwx6kq3v35vap4vnp23xlwdczp4mdzkwq8w73v0ki47mm1vf";
+  SGr-IosevkaFixedSS13 = "0nq1l70fw1rlj6ijs3drjrgwsfrgl3r7hzmv4dzaw3135irbw7jl";
+  SGr-IosevkaFixedSS14 = "15i7qy09x7xgcl097l430nbs4zfmdqsjqlqxlnvxh8l7if52glx0";
+  SGr-IosevkaFixedSS15 = "04pl83npfvy7zyhxnzsds04sq0ffilkgvj74i8w74jrr6ncsigc5";
+  SGr-IosevkaFixedSS16 = "0ib27fr1mj6zdyp99h425wyw1g4a0qdgz7wkbvnvjm7s9api750w";
+  SGr-IosevkaFixedSS17 = "0ln4i0q5yszb1162rm6dgfnssqc09zak400rjhwkf89z8nggyjnr";
+  SGr-IosevkaFixedSS18 = "0pi4qnzjlkzfdlnf853aamhb1dbinhcs42al6dara8j4la2mw9b0";
+  SGr-IosevkaSlab = "17fcn0b79z901kdzyjxlx46d6b40x2rib6lnh6bja7g4n42ha8rc";
+  SGr-IosevkaSS01 = "1xrdrydi9ync2iybpbf4k5iax1i7pfbmn1grbql07b13snagcjsy";
+  SGr-IosevkaSS02 = "13m6si5mamblvdbnaz16fl9gnpq0r5zr0iwrv4fycs21bz12gz3w";
+  SGr-IosevkaSS03 = "0s6ljh6igx7i188c86xy3gpwc37xzm2d5w3f6sdp1sg8cgr71iaf";
+  SGr-IosevkaSS04 = "15xlzn0mi150h8hy03bz611w5vla61nhannglfmsa8bljqwb33sp";
+  SGr-IosevkaSS05 = "1ljkb44sycdh6gira2fjflbmcfkqs3fsv2xf493bl2mvd46kkh2b";
+  SGr-IosevkaSS06 = "1ra5s2f1ydpzg742yg1d1fawvhvxijq8ibi7maf99k1pf4qkpvak";
+  SGr-IosevkaSS07 = "1cx9k8f6qnqfz2klcqdbnbz9ndr353kvg5w817b84zqbb2isyy2g";
+  SGr-IosevkaSS08 = "0i3sz05nmabvxa62j85hw4hs53q378x4sy715af8cpzy1xwg46qh";
+  SGr-IosevkaSS09 = "1pbd35y5rfa7hlvgci3a5mfixpq3dcg69yd539csy4riz99nbnzz";
+  SGr-IosevkaSS10 = "0br4g7hdf3crnxkax2qy6nm1prgygl8j78jlhkfqhzfmzxajf2v3";
+  SGr-IosevkaSS11 = "1k6vg4xkarch1vxry6wk1fsns563a6afv88pd286gid332hjlzk5";
+  SGr-IosevkaSS12 = "01sraf0kw9kfm33ybglpqml59blggsp7q4hpi2jmf2nm05qzd5kz";
+  SGr-IosevkaSS13 = "0ga9j1cd9vgiwji2pz3w1dmgd7r8abnd8486fyfjqzjcw9vh4w06";
+  SGr-IosevkaSS14 = "0d1d65d52r7snmzhyb8r6i78z7mjmhz8psw20843bg8wrbpd35yq";
+  SGr-IosevkaSS15 = "11bxcnpj4b6w9v4kwg6lfg4gingh9aigfwwi7q7iv8bzhv6pznng";
+  SGr-IosevkaSS16 = "0bk8cs7qm4q36s28hrdg3sd7b6v2b9xfvam8vsxfbdsdwy8p7ksv";
+  SGr-IosevkaSS17 = "0qz53fa53bin4an8dh66j29j019zhb4pni1j6isijm1lr37i7xmf";
+  SGr-IosevkaSS18 = "02d57rs879r8rnikdpcr6vk1i191c674jvxw7qzanyflfi9xr90m";
+  SGr-IosevkaTerm = "1pamv5s6d11kxvhcy6id985rz895y02px65dv7s761ci5a1rvayx";
+  SGr-IosevkaTermCurly = "09781j6hhv7v3qrh79kdg3kzyfdwfy217fz5mwhr36qjikwlbbiq";
+  SGr-IosevkaTermCurlySlab = "1kx0nzgcrggwgw06520nrfhym5yi6k1rfgbgdc6f7a93hdkyb8v1";
+  SGr-IosevkaTermSlab = "07i6wbqxaaxr4xg9avs7473x0w2zcyg6zxpgby8l7lcv4g6wrn23";
+  SGr-IosevkaTermSS01 = "1g8lbkk5z1kypcwhkn9izdbg246imnhfa0g2xssy2xd41jmk9djn";
+  SGr-IosevkaTermSS02 = "04n26jkd8dp91n1a0ifr4srsxhpg3rcp9k56r1xjrc0wjpwmw05n";
+  SGr-IosevkaTermSS03 = "108160gn6ggw1piz7r4ngwyfhycqhx350v8x6lcrfjlcx1mp5isk";
+  SGr-IosevkaTermSS04 = "0qw7n2i8p323mr73pimjyb1rlk2m07d34qswgwpqvfj0jbbp3bp3";
+  SGr-IosevkaTermSS05 = "0diwqrdyl43c6kng7rvg8wc7m2r5bri999rvn99xdhsll644b7zd";
+  SGr-IosevkaTermSS06 = "08wql4iwkczxb0nz74iwnkr2gnafw4wa3x2yaxyd7rqf5qdlf0pr";
+  SGr-IosevkaTermSS07 = "1hlcfx89yz0j0f93v0gww72m8jdy8k6cbmj7nhh4yqyvph9clqqa";
+  SGr-IosevkaTermSS08 = "1z4qxhlibyimjwizwp5i3b8c827c4pvdfib1ma7f8c654jni7v8k";
+  SGr-IosevkaTermSS09 = "1847m7zksg0ndn8kzx7hlqmwc9hs7rgaywqqzyp7ahpa5cwyk9zr";
+  SGr-IosevkaTermSS10 = "16nyrrim1g0zf5n4mp9k1iz8l5pgb3w9hlafhl4ys5xn7fw47cfc";
+  SGr-IosevkaTermSS11 = "0ry7h0ghwgi5ra36dgsc8zdkyxrd8srpc12ix9glcficbkhkkisp";
+  SGr-IosevkaTermSS12 = "1iri5bcjlwcni9k64y7cq3rh4106hrimpi4c47ii249nk6q2ppak";
+  SGr-IosevkaTermSS13 = "0qkkxq4gmf13wzic31y477hi3rkyihs0bxmch8nh1myy8fmj4fik";
+  SGr-IosevkaTermSS14 = "04pjjmy3mh3721fxf10hgii2d8gzc7x76v4mv6m84spwa2g8c72c";
+  SGr-IosevkaTermSS15 = "1lix7g00xx4yrq7xc2jik0bh6iib7sqyn2zsrng9pph4589vri22";
+  SGr-IosevkaTermSS16 = "076wy7yix7d217c87pp61x4nwqmmlzpqzlidq5v49jcdrdxj4b7k";
+  SGr-IosevkaTermSS17 = "0qdb5603nxs93sv1f06svf0r0c9b0qmpnr3grif3qx09ifpqnkfb";
+  SGr-IosevkaTermSS18 = "0whg2lxndn3j5jlnhjy6zj1lkwd4q0qf0pbf8kajhvnlrn6yx0ca";
 }
diff --git a/pkgs/data/fonts/junicode/tests.nix b/pkgs/data/fonts/junicode/tests.nix
index fda7de31670e1..831e60796d12f 100644
--- a/pkgs/data/fonts/junicode/tests.nix
+++ b/pkgs/data/fonts/junicode/tests.nix
@@ -15,14 +15,13 @@ let
       '');
 in
 builtins.listToAttrs (
-  map
-    texTest
-    (lib.attrsets.cartesianProductOfSets {
+  lib.mapCartesianProduct texTest
+    {
       tex = [ "xelatex" "lualatex" ];
       fonttype = [ "ttf" "otf" ];
       package = [ "junicode" ];
       file = [ ./test.tex ];
-    })
+    }
   ++
   [
     (texTest {
diff --git a/pkgs/data/fonts/lxgw-neoxihei/default.nix b/pkgs/data/fonts/lxgw-neoxihei/default.nix
deleted file mode 100644
index 3832ba8d510b6..0000000000000
--- a/pkgs/data/fonts/lxgw-neoxihei/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib
-, fetchurl
-, stdenvNoCC
-}:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "lxgw-neoxihei";
-  version = "1.120.1";
-
-  src = fetchurl {
-    url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
-    hash = "sha256-shzJ5y2mjvodtSHct9gm+09CludxUpR38qi9zvewjaQ=";
-  };
-
-  dontUnpack = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm644 $src $out/share/fonts/truetype/LXGWNeoXiHei.ttf
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "A Simplified Chinese sans-serif font derived from IPAex Gothic";
-    homepage = "https://github.com/lxgw/LxgwNeoXiHei";
-    license = licenses.ipa;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ zendo ];
-  };
-}
diff --git a/pkgs/data/fonts/material-icons/default.nix b/pkgs/data/fonts/material-icons/default.nix
index f03e8683e5097..993e25ba2cd33 100644
--- a/pkgs/data/fonts/material-icons/default.nix
+++ b/pkgs/data/fonts/material-icons/default.nix
@@ -1,25 +1,33 @@
-{ lib, stdenvNoCC, fetchFromGitHub }:
+{ lib, stdenvNoCC, fetchFromGitHub, nix-update-script }:
 
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "material-icons";
-  version = "3.0.1";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "material-design-icons";
-    rev = version;
-    hash = "sha256-4FphNJCsaLWzlVR4TmXnDBid0EVj39fkeoh5j1leBZ8=";
+    rev = finalAttrs.version;
+    hash = "sha256-wX7UejIYUxXOnrH2WZYku9ljv4ZAlvgk8EEJJHOCCjE=";
   };
 
+  dontConfigure = true;
+  dontBuild = true;
+
   installPhase = ''
     runHook preInstall
 
     mkdir -p $out/share/fonts/truetype
-    cp iconfont/*.ttf $out/share/fonts/truetype
+    cp font/*.ttf $out/share/fonts/truetype
+
+    mkdir -p $out/share/fonts/opentype
+    cp font/*.otf $out/share/fonts/opentype
 
     runHook postInstall
   '';
 
+  passthru.updateScript = nix-update-script { };
+
   meta = with lib; {
     description = "System status icons by Google, featuring material design";
     homepage = "https://material.io/icons";
@@ -27,4 +35,4 @@ stdenvNoCC.mkDerivation rec {
     platforms = platforms.all;
     maintainers = with maintainers; [ mpcsh ];
   };
-}
+})
diff --git a/pkgs/data/fonts/nasin-nanpa/default.nix b/pkgs/data/fonts/nasin-nanpa/default.nix
index cd05c667a2487..339c89dd9b0b4 100644
--- a/pkgs/data/fonts/nasin-nanpa/default.nix
+++ b/pkgs/data/fonts/nasin-nanpa/default.nix
@@ -2,29 +2,18 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "nasin-nanpa";
-  version = "2.5.1";
+  version = "3.1.0";
 
-  srcs = [
-    (fetchurl {
-      name = "nasin-nanpa.otf";
-      url = "https://github.com/ETBCOR/nasin-nanpa/releases/download/n${version}/nasin-nanpa-${version}.otf";
-      hash = "sha256-++uOrqFzQ6CB/OPEmBivpjMfAtFk3PSsCNpFBjOtGEg=";
-    })
-    (fetchurl {
-      name = "nasin-nanpa-lasina-kin.otf";
-      url = "https://github.com/ETBCOR/nasin-nanpa/releases/download/n${version}/nasin-nanpa-${version}-lasina-kin.otf";
-      hash = "sha256-4WIX74y2O4NaKi/JQrgTbOxlKDQKJ/F9wkQuoOdWuTI=";
-    })
-  ];
+  src = fetchurl {
+    url = "https://github.com/ETBCOR/nasin-nanpa/releases/download/n${version}/nasin-nanpa-${version}.otf";
+    hash = "sha256-remTvvOt7kpvTdq9H8tFI2yU+BtqePXlDDLQv/jtETU=";
+  };
 
   dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/share/fonts/opentype
-    for src in $srcs; do
-        file=$(stripHash $src)
-        cp $src $out/share/fonts/opentype/$file
-    done
+    cp $src $out/share/fonts/opentype/nasin-nanpa.otf
   '';
 
   meta = with lib; {
diff --git a/pkgs/data/fonts/nerdfonts/shas.nix b/pkgs/data/fonts/nerdfonts/shas.nix
index 5a12102376308..b7ad0b67aa1b8 100644
--- a/pkgs/data/fonts/nerdfonts/shas.nix
+++ b/pkgs/data/fonts/nerdfonts/shas.nix
@@ -1,66 +1,69 @@
 {
-  "0xProto" = "0a05a5pzqrncijngdn39v4dckq54sip1sclyyazfwgz5lyazwsac";
-  "3270" = "0fdfwgjn2gx1a3pakyqlbq2yijrs7i8z7zcgb59qy7dfn1ddc1wc";
-  "Agave" = "1akiinz10nmwqffdms3367hizbnk2y2d545ypz94hfvp3b5kpagr";
-  "AnonymousPro" = "1nkg8wxcw0fvshvbphaqq3hwsi14lj5adh93nklg7y9zvqyyg63m";
-  "Arimo" = "04dfmy16jvrm0n4y2fwad9d3ijwibb3rhm8b0gxyfx30ipm7ar67";
-  "AurulentSansMono" = "0h7n1dxim6623s7b6nww72g28qfbdafakzpzmkdv0nywa0k0z6bw";
-  "BigBlueTerminal" = "1y5i2bkcszi48ajman2gm4vsqxdh03hf0l66bdzaihfxbxx7wsc1";
-  "BitstreamVeraSansMono" = "0y8b9ckq9im3mnzz66zk8alkgf450hy9a2gwb1zvb1s93kc8jmfb";
-  "CascadiaCode" = "1x5y55s6nc7k7lnrwv547a3vaf65q099mj17qindki27vylp4pvg";
-  "CascadiaMono" = "1168l2lvb5wi4wy2hplm8mxzwvk4k0si4sgabpamxn7qwynxg875";
-  "CodeNewRoman" = "1bj6jf9h0975f5syxibgw1vbw5hf1yh7lz118s6nmfdnjd3gkgxh";
-  "ComicShannsMono" = "1c32nhk02aiiz8cwws1rhvikyb27i5jbigy9k20n6zcj5v1n2b4f";
-  "CommitMono" = "00anj74dzjbf2b51r52qcw28jbvpd3v9p9gnws5c1bhjc4p0a3h0";
-  "Cousine" = "1apa96haqyi1ya7w5n7bvmy80gwqvawc9pnwcw19z1j8vmlxziya";
-  "D2Coding" = "12caqhh15glw4spmgf2l9xfwhab8mjrjdpcx0rf9zyd4fhn6rdj2";
-  "DaddyTimeMono" = "145nhbp5b83s5n2nqnmijnwl7g7ddpn6mzkqfip33ywsvvd5zrsy";
-  "DejaVuSansMono" = "1bxmylj3lg8w56maxp0z2zqfi4rwggabvcgkn6n4wzm2bm6l13dg";
-  "DroidSansMono" = "02cxbklawvvywbyh0b82mh4wvnbnl3b17lxy5hfhjarzzfm6zqf7";
-  "EnvyCodeR" = "0zy4mydpi0yvp15vd4yk5389pgxj2m2cx1pa3c749r81wrmc7b82";
-  "FantasqueSansMono" = "1nrs1vn8n7pm7fhvirxq77581ck2c1z8cj4454az2x3scglc6qb3";
-  "FiraCode" = "1brqps4j1n57l4y25m38mjcsxhl1jdhiwf5dgi482zbfi89yx5l7";
-  "FiraMono" = "0gf2vd9zz33hjkm2l1nyk458j561x7mva6p2nc3ja92156q99ci2";
-  "GeistMono" = "09ch98xwdj4qwcmkhb10fm6xjg0038q2gnrllyjnyd3jyph4klh1";
-  "Go-Mono" = "03946zrsdvb7mbbc6l5ar292jdpf9k77jvdjgh2vgml1ibxg91q5";
-  "Gohu" = "1qm97n6w8msw2s6gbmch7m5j1q50karrj9m2mp79ifhv808j7k4g";
-  "Hack" = "05ls81d15lgscc163451da5wxyj3ckr06kiml5fa31nvzsr0r0hd";
-  "Hasklig" = "117236vqcf2j70irb5a36n509swssmv2310c43b1ffxx5m4ysq0n";
-  "HeavyData" = "1mm0qj8pk8da7ffzh6sxlgis188k25k6r11vwa9albmsqb99qnp3";
-  "Hermit" = "157xyw1hdwhsr20dsp71kpm7kgv63ag0xdhyinkmcdfc0nmr14p1";
-  "iA-Writer" = "1gc1nv13bh91c2hq64acvmdyn314n61l465j0dzl6r3wzqcc0civ";
-  "IBMPlexMono" = "0a67c2imml0r888s9sfjsw0dvm14anw70j98aq00hx637xs8j5ka";
-  "Inconsolata" = "0vj68n1l8baxgyhm5dblqq74gns8gc7g41kh9j6dxq1xg9p9v5bg";
-  "InconsolataGo" = "0pqv0jj7kg9q3iw0acv59ip6ccgdwypk0qjniyqxbr786rpl2wvx";
-  "InconsolataLGC" = "13xi6s8v5rymw827hm89wiaf9gbnysmria7wqjv94c43yxx95xwm";
-  "IntelOneMono" = "07z4gk8jb2s0i8g7dza88gadb2hl3af71cl3pdkkz31ihjs19x21";
-  "Iosevka" = "00579ljkpry71iwihj9ncmx36hgnxy6hasgbk0wnxc9qizxx6ya1";
-  "IosevkaTerm" = "00qjllymd94cdj0jpcydn2xqylvfaga81lw5rjpl1in1jpwmnmad";
-  "IosevkaTermSlab" = "0vf4gha5v069ck0y7aq501c443vr7gnn5qrbacgjhs9lmdamx2ap";
-  "JetBrainsMono" = "1f8xi8kgyik59ahjm3pcrb2s02c9a9i6kwf5b4651zpjmjy5l8lj";
-  "Lekton" = "0fzmrfwhxykgr4m274v5pza7n6ayk52dprfx1vrjflcqmm3h4k8h";
-  "LiberationMono" = "1gfim5av892rcxwg0jdfa8an5k6sd683fkhf46ydi5sydw59bdp1";
-  "Lilex" = "0n4h968gv24szrpqkllypgpxwzf0bf7kvm6v5jfcgdcfvswkqm2w";
-  "MartianMono" = "1bbrcjkgvga4wnbh0hbx64ldc8plcl7zkyh4d7hja85nhh5z377f";
-  "Meslo" = "165mkzl3lfg01cmx1pngbjynrskwgdvh74ir4jjbp9im3xp9nbfh";
-  "Monaspace" = "0xp859zn2agj8mya1mxprlhlawb9k7r0x6dzl6isilf7n444wjq0";
-  "Monofur" = "1g0kbazkap4f4kiidc68b3za2kls9mj0qxwrvlrlgwdjlcri9n6n";
-  "Monoid" = "0faxfb0nb6j1zcsdic0xkgvi7g6n41jnx4m0rcyd5c8xparalg1v";
-  "Mononoki" = "10zs46vyffr4z84ay1rw2w9bl5yi85sapiwa3bqp2wkvh68as418";
-  "MPlus" = "1r5l09pk2dw3lq9y7ffg5qnblwv02mabj6w41vcp1w5yzp9agqrj";
-  "NerdFontsSymbolsOnly" = "0v3x4aiia098zbpb0pabi6srzmlxcdcwky7nf7mha8g47c6xdwnz";
-  "Noto" = "00byck8xwmr4fkj4ah6sbifvl8lwsclgqj96ygqci6pn9rwgrc3i";
-  "OpenDyslexic" = "0fan7yn3wadq6gsa69nz92m0ibzwhfp1b57jgh96ifq1k2prrlrp";
-  "Overpass" = "0inij9mi1v375yykxf1sy5jh5hgp6p6n7szzwwshbv37xsispqnq";
-  "ProFont" = "0l8diqylagjj6q0gqmfrz0vh1jzag2pwm4i7czy843bzgv04p9ci";
-  "ProggyClean" = "1wsb7xz5wx9rni0n01vyhj6a1x0r7fd733fbd3ynmykcqz4v7kfv";
-  "RobotoMono" = "1jsqhfahn0fmdk3m40x0fipfm8bmwyg7w0bi3cjbqrzvg7m1f197";
-  "ShareTechMono" = "12x08z717w13agcf4xbwgzmi9qqzycr3rrc4wyykm2cnrpldhss4";
-  "SourceCodePro" = "0fmxjgjxg4r956svry7ngxlxs7sp7arlbyaynm9dvxqpw46jylhk";
-  "SpaceMono" = "1imgcrv0000l1hd8hynas5d1x3mr7nq2xhc8drlqhcgcd4hxil2f";
-  "Terminus" = "0k1lm09rs0kih0fhrmmw87261pyl6c1s3507qs8hzbx75hsmzy2a";
-  "Tinos" = "11p0a9np9lknxmsddiwqlsw72rbwmc1hagahh37gah95gx5sxgyz";
-  "Ubuntu" = "0xm0qqphsaq9mr6a4lip2bnls687wxzh6hjljyvjrfdjam9d5q3m";
-  "UbuntuMono" = "0slcb7yd9imk2l4jkg2k1gr05xp0a6jb6gv2bzab2igkv737s62b";
-  "VictorMono" = "1yhj87vwwap8wr88bdmpgfb4s6qmszvczj2rg10rjkgsn4c0q6d2";
+  "0xProto" = "09q4ipl3vvav3jbs0s14fqmd2wk70mc7i8mmplpj20jwcicm05ng";
+  "3270" = "0zcj5xhylyqxpwn6dzp28kh8xybhh4y9lva3smcqs7iklhbf8s31";
+  "Agave" = "1xxylrjb0zbq3kj14fx5d3lpb7abl0br6mkj961i391qyqlx01y3";
+  "AnonymousPro" = "1lq9wkf8c153jkjmhnddih12y9xd4gabbkgac0vx9j98hmy7yjqy";
+  "Arimo" = "1f7zljmljrp1dxkrhkyz8zh9ddv7l7m9br6gaygzxr26bq0vrwr0";
+  "AurulentSansMono" = "0wlwwgp1w7rqvqx66dkqwhz5flw75620fj9fb795hakpkjiya6yp";
+  "BigBlueTerminal" = "115cxnll1iyj75f5wi7b7pi5hgfa3b5kbx269alm9183h284lb23";
+  "BitstreamVeraSansMono" = "1s6jpg0vrdwgi9qyn0mbcy8r7h1lqw8z6q39wiin61szfn642a2k";
+  "CascadiaCode" = "1sg6czl3km7yi70vdcyb0ff1xkq1p4nalj0yh164gan3psp9mxss";
+  "CascadiaMono" = "0rrknf86kdwyjpnryp5870nmnq2sxjda8pgs93z23lh7hw758wln";
+  "CodeNewRoman" = "0p1wkmpzcrxw8qv5lf9fwsxqpjglhwim83amf7i8mmxdx1drzlj5";
+  "ComicShannsMono" = "1p35nmzl51mn2mk0g9fdcawvssv4v7bklxxmdx99357ihnlka26w";
+  "CommitMono" = "0jjzi98i28s3z2x8v7rakcdhgdf7jxzagj8snrylw2mvwn7mlgqp";
+  "Cousine" = "1ccq3sp8fqbi0njm9w2p6cf5r7avpan5fklwzpx4mknwbdqlrwdq";
+  "D2Coding" = "1c0chgbsmzlgq0vinbcz7ydkdhnram8cif8zx8kkpha31abna5n0";
+  "DaddyTimeMono" = "1nz4g26a4dx7ng5nv6bc4hg474inan1c00c86mdlmvl2vgmx6zbf";
+  "DejaVuSansMono" = "12x18i15723hxc1l6ng92m77wycjk0d6r15j34n1zsww5r6xwjxr";
+  "DroidSansMono" = "1mqd1qqbs9dxwmi98i4xw88c68l1bww1sqlsmxmn86368rjh14fk";
+  "EnvyCodeR" = "197g4jaljcb1yncn9rvh17n077p7bq0v59lvb9vqkq3lms5lzjni";
+  "FantasqueSansMono" = "079mk8xrri4r1d5k1w5fv1hb0hp3w499csirkd6yriss35sbhv9d";
+  "FiraCode" = "1i1vw65f00n6vjinyqr1bq5ni5r6g8cjinrfl5zhlqm0gagv5x6y";
+  "FiraMono" = "1i9bfxblx568wsjq7ks1kyyfn9k36i4r2an4n45mb46swc94n8n0";
+  "GeistMono" = "0wvc9hqkh7ap3ysklcin8k72706l72p2wyqv3bg5brzcmwcpy90g";
+  "Go-Mono" = "0j6rr0r7418f8a5bmxbagpmcf7bas2n53f0hg835zp2ikx9cx924";
+  "Gohu" = "0h8hjiqs3f6xwn7g4wg12xim65ybw2546nlf5p9ip4ymr7x17dks";
+  "Hack" = "1wxmd4jr4p11cfhzs5chyh649vps6sdz4bq28204npkd7wzh5fc9";
+  "Hasklig" = "1nja4r8sn67g3gn85xhb1h7p1pi96wl0hpg5b5gyd1z5llbgzc2g";
+  "HeavyData" = "1a3a1pixv97wlnai24zb8dhkzxb2llcarhjkfrgd4syhn37sdf7n";
+  "Hermit" = "1bh18rzwma7gzrx3ybw8g2s9k5xv7wx8ybnyas3qaxb03fpjqm93";
+  "iA-Writer" = "0vsppg62l35zhzlsa0fwczv09pk1nhrag9xhcaadipd962dv7c45";
+  "IBMPlexMono" = "0hd04z17l2p21hij4a0gmwnlfxs7s8qqh08zf4pzqld10557gqlp";
+  "Inconsolata" = "1xy3h05zy49h91k7fqk8934p1f776w46i0bh510addg12w8mm7rc";
+  "InconsolataGo" = "0hcvh3s2rnnir03pszfmmwhbdsapx1b516phhjhb4wl0dqma9q39";
+  "InconsolataLGC" = "0bfwhzbz422kfdv9ppr83cc2aqqdn7g49f73zipl4yp5636gi5ks";
+  "IntelOneMono" = "0388390dlcprxhxxl57gy8rllwk8wsd92b5xwnqwb5f394gbc5m0";
+  "Iosevka" = "0dzkcn277jxiqrrqkyigw6jgd4lp9411r28rkpkwx6js6px27q8v";
+  "IosevkaTerm" = "1xccqkydkhmhq8akk23kkypqzcc2svyicxv9gblwzwbndjrfgmdm";
+  "IosevkaTermSlab" = "1svig63li8mjj2dkgiawgb82gpk8vkrkhih5cp0a6174bh4gycii";
+  "JetBrainsMono" = "01j0rkgrix7mdp9fx0y8zzk1kh40yfcp932p0r5y666aq4mq5y3c";
+  "Lekton" = "00cm8ni3cnmgzwj1ypvpcy8gvnlz31la51j411dpsdqsclbcp0i2";
+  "LiberationMono" = "1941pgw723a6my44g6idi56a88qvsi8lj3wl7slpr5l3pmfda2lx";
+  "Lilex" = "0qz23h6a77i4n8nmhb7hc56mkiwn3pj1s6dbl2v53fvypwghswm2";
+  "MartianMono" = "0zfcvi150yn274i41n66zr20hqgqb0r5v75q21bbgqvaysl4wj32";
+  "Meslo" = "1sjrsr7i3diz4h7wkrl8va7b40g4m1432dz6bpbm2nmp89aszg8s";
+  "Monaspace" = "0il36cm37pc6ndp96j32j0fqpqvwyv2xm3jr7d3zxwax1lcfilp5";
+  "Monofur" = "10gzx2r5a5f5jl192c6cwsil5k57aslmryfnilkv4g8417xmn0zb";
+  "Monoid" = "1fhsb326lc093ckrq2kz4vhr3ibrgp8y0mwa3qwdbapldxazz9f7";
+  "Mononoki" = "18zp94dnv6kp8l58151dybjf2w1gi99nh1rw098hkrf52gfrfdpb";
+  "MPlus" = "0x7yvpkn32x50y9zpdpjrp1gvwwp4fsmjbqbnfzy14xhi03p0q2w";
+  "NerdFontsSymbolsOnly" = "0y4r1rid5sjd9ihi6nkwy0sja792aghg21bpl3ri029b9pifx8xp";
+  "Noto" = "0vq9lgf4j6pi7pw3bfgfzkcdixnhikf4yys8fr0qql7mkwhj3rjb";
+  "OpenDyslexic" = "1yl1fm4pfjvxq411m6f8nycqjnpnhkllmlx16wjrjfqpaf63mm4n";
+  "Overpass" = "1plcn2qx2b08va65zagn1ybkh850157ii7x20nnrhp0h5f4rddzw";
+  "ProFont" = "11c3shv09dssjbjwa44y64dwq7dxn3gs23bfgvhkv51vshsx0fzy";
+  "ProggyClean" = "1l822wqrz7xmgnw535i9vl9gwjl4h037hi3xl0g4907kcdxwan0s";
+  "Recursive" = "1fngqsl1shbfbb1wcx77di42g65lm9f5fcw93m8dcvdzk5lxpxz5";
+  "RobotoMono" = "0g6yvz4vpfcylnshhyhwy5llz61n8m0a0vp4jgjhiir5svcd9krw";
+  "ShareTechMono" = "0mxsywg4gns31yzh1256y7pkbh0m6n3rf8gbb55mxw219ngskkyv";
+  "SourceCodePro" = "088vi947kavk1pkvbl68kv7nz84yvfkj725n2zn7ypq354kkm92n";
+  "SpaceMono" = "0f4kcm4i3y11mpxb9anmn8759zpv3lvril4shp3d4mfc0k3dgfdn";
+  "Terminus" = "04kzc594sb5vk8fd3ww9ip7jsy4vi6wmxdf6vzsvb2fgd98ck335";
+  "Tinos" = "14c31qv3ik0in44k98zjn398cffwgq8z7d5lx7sk6iv12hikrd11";
+  "Ubuntu" = "1bgk4hx26qn5ylsydsy9655isz05ir7154pv8dy4x5rpr144s9ba";
+  "UbuntuMono" = "15kkgx6i4f7zn6fdaw2dqqw3hcpl3pi4cy4g5jx67af8qlhqarrb";
+  "UbuntuSans" = "0jj4v198zshwhns5swrh02h2np3wgnv8lacn8b7jhmcd575cgy1y";
+  "VictorMono" = "03rh7rc6a934sgd1bs7h7y1swqwbv3g7zi624k6hd8v1m3f0j6xa";
+  "ZedMono" = "0yhb9fp7ahw8niki1njzk8pbl0iy53pgf7gx5yfc2ass9vjwky9d";
 }
diff --git a/pkgs/data/fonts/nerdfonts/version.nix b/pkgs/data/fonts/nerdfonts/version.nix
index b6d7788c7faeb..038707f5b9ecc 100644
--- a/pkgs/data/fonts/nerdfonts/version.nix
+++ b/pkgs/data/fonts/nerdfonts/version.nix
@@ -1 +1 @@
-"3.1.1"
+"3.2.1"
diff --git a/pkgs/data/fonts/sketchybar-app-font/default.nix b/pkgs/data/fonts/sketchybar-app-font/default.nix
index b207dc48514f1..ff1a2fe7c742c 100644
--- a/pkgs/data/fonts/sketchybar-app-font/default.nix
+++ b/pkgs/data/fonts/sketchybar-app-font/default.nix
@@ -1,34 +1,91 @@
+let
+  artifacts = [ "shell" "lua" "font" ];
+in
 { lib
 , stdenvNoCC
 , fetchurl
+, common-updater-scripts
+, curl
+, jq
+, writeShellScript
+, artifactList ? artifacts
 }:
+lib.checkListOfEnum "sketchybar-app-font: artifacts" artifacts artifactList
+  stdenvNoCC.mkDerivation
+  (finalAttrs:
+  let
+    selectedSources = map (artifact: builtins.getAttr artifact finalAttrs.passthru.sources) artifactList;
+  in
+  {
+    pname = "sketchybar-app-font";
+    version = "2.0.17";
 
-stdenvNoCC.mkDerivation (finalAttrs: {
-  pname = "sketchybar-app-font";
-  version = "2.0.11";
+    srcs = selectedSources;
 
-  src = fetchurl {
-    url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
-    hash = "sha256-coTwsCIausXlg1BGRPARnwq50rJgR8WyfER5Q4dkMuw=";
-  };
+    unpackPhase = ''
+      runHook preUnpack
 
-  dontUnpack = true;
+      for s in $selectedSources; do
+        b=$(basename $s)
+        cp $s ''${b#*-}
+      done
 
-  installPhase = ''
-    runHook preInstall
+      runHook postUnpack
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+    '' + lib.optionalString (lib.elem "font" artifactList) ''
+      install -Dm644 ${finalAttrs.passthru.sources.font} "$out/share/fonts/truetype/sketchybar-app-font.ttf"
 
-    install -Dm644 $src $out/share/fonts/truetype/sketchybar-app-font.ttf
+    '' + lib.optionalString (lib.elem "shell" artifactList) ''
+      install -Dm755 ${finalAttrs.passthru.sources.shell} "$out/bin/icon_map.sh"
 
-    runHook postInstall
-  '';
+    '' + lib.optionalString (lib.elem "lua" artifactList) ''
+      install -Dm644 ${finalAttrs.passthru.sources.lua} "$out/lib/sketchybar-app-font/icon_map.lua"
 
-  meta = {
-    description = "A ligature-based symbol font and a mapping function for sketchybar";
-    longDescription = ''
-      A ligature-based symbol font and a mapping function for sketchybar, inspired by simple-bar's usage of community-contributed minimalistic app icons.
+      runHook postInstall
     '';
-    homepage = "https://github.com/kvndrsslr/sketchybar-app-font";
-    license = lib.licenses.cc0;
-    maintainers = with lib.maintainers; [ khaneliman ];
-  };
-})
+
+    passthru = {
+      sources = {
+        font = fetchurl {
+          url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
+          hash = "sha256-iVSWFqhzf0ZxfQODAf+uvGIiWMjWbir6ZWurlx3n6/w=";
+        };
+        lua = fetchurl {
+          url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/icon_map.lua";
+          hash = "sha256-/N16zLflQ2sONBFOZiIdC8KR1rd5pZvXftiXjXJvTVA=";
+        };
+        shell = fetchurl {
+          url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/icon_map.sh";
+          hash = "sha256-nPBiNz+3oHwiertjMJ6YW6g6WZglGjassUGrsQVvnRM=";
+        };
+      };
+
+      updateScript = writeShellScript "update-sketchybar-app-font" ''
+        set -o errexit
+        export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
+        NEW_VERSION=$(curl --silent https://api.github.com/repos/kvndrsslr/sketchybar-app-font/releases/latest | jq '.tag_name | ltrimstr("v")' --raw-output)
+        if [[ "${finalAttrs.version}" = "$NEW_VERSION" ]]; then
+            echo "The new version same as the old version."
+            exit 0
+        fi
+        for artifact in ${lib.escapeShellArgs (lib.mapAttrsToList(a: _: a) finalAttrs.passthru.sources)}; do
+          update-source-version "sketchybar-app-font" "0" "${lib.fakeHash}" --source-key="sources.$artifact"
+          update-source-version "sketchybar-app-font" "$NEW_VERSION" --source-key="sources.$artifact"
+        done
+      '';
+    };
+
+    meta = {
+      description = "A ligature-based symbol font and a mapping function for sketchybar";
+      longDescription = ''
+        A ligature-based symbol font and a mapping function for sketchybar, inspired by simple-bar's usage of community-contributed minimalistic app icons.
+      '';
+      homepage = "https://github.com/kvndrsslr/sketchybar-app-font";
+      license = lib.licenses.cc0;
+      maintainers = with lib.maintainers; [ khaneliman ];
+    };
+  })
diff --git a/pkgs/data/fonts/spleen/default.nix b/pkgs/data/fonts/spleen/default.nix
index e97d8416610c0..ef9e2956b924e 100644
--- a/pkgs/data/fonts/spleen/default.nix
+++ b/pkgs/data/fonts/spleen/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "spleen";
-  version = "2.0.2";
+  version = "2.1.0";
 
   src = fetchurl {
     url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
-    hash = "sha256-+TDrAolKoG61CuqqELAEICVNcjIPoow6QPFXqMKUN1U=";
+    hash = "sha256-i0fFbxpuuFj7z540UwVXQEsC+7NFXjjmT7hEc/0MNy8=";
   };
 
   nativeBuildInputs = [ xorg.mkfontscale ];
diff --git a/pkgs/data/fonts/u001/default.nix b/pkgs/data/fonts/u001/default.nix
index c50e972a4d69b..b0359ac1e55e8 100644
--- a/pkgs/data/fonts/u001/default.nix
+++ b/pkgs/data/fonts/u001/default.nix
@@ -5,8 +5,11 @@ stdenvNoCC.mkDerivation rec {
   version = "unstable-2016-08-01"; # date in the zip file, actual creation date unknown
 
   src = fetchzip {
-    url = "https://fontlibrary.org/assets/downloads/u001/3ea00b3c0c8fa6ce4373e5766fafd651/u001.zip";
-    sha256 = "sha256-7H32pfr0g68XP5B48VUY99e6fbd7rhH6fEnCKNXWEkU=";
+    urls = [
+      "https://fontlibrary.org/assets/downloads/u001/3ea00b3c0c8fa6ce4373e5766fafd651/u001.zip"
+      "https://web.archive.org/web/20220830085803/https://fontlibrary.org/assets/downloads/u001/3ea00b3c0c8fa6ce4373e5766fafd651/u001.zip"
+    ];
+    hash = "sha256-7H32pfr0g68XP5B48VUY99e6fbd7rhH6fEnCKNXWEkU=";
     stripRoot = false;
   };
 
diff --git a/pkgs/data/fonts/victor-mono/default.nix b/pkgs/data/fonts/victor-mono/default.nix
index 5c17ad653ebca..a855cf8b80bb6 100644
--- a/pkgs/data/fonts/victor-mono/default.nix
+++ b/pkgs/data/fonts/victor-mono/default.nix
@@ -2,7 +2,7 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "victor-mono";
-  version = "1.5.5";
+  version = "1.5.6";
 
   # Upstream prefers we download from the website,
   # but we really insist on a more versioned resource.
@@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation rec {
   src = fetchzip {
     url = "https://github.com/rubjo/victor-mono/raw/v${version}/public/VictorMonoAll.zip";
     stripRoot = false;
-    hash = "sha256-l8XeKE9PtluiazZO0PXfkGCcnm5o+VZdL7NZ6w0tp80=";
+    hash = "sha256-PnCCU7PO+XcxUk445sU5xVl8XqdSPJighjtDTqI6qiw=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/icons/bibata-cursors/default.nix b/pkgs/data/icons/bibata-cursors/default.nix
deleted file mode 100644
index 06c8becd64e51..0000000000000
--- a/pkgs/data/icons/bibata-cursors/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib
-, stdenvNoCC
-, fetchFromGitHub
-, fetchurl
-, clickgen
-, attrs
-}:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "bibata-cursors";
-  version = "2.0.3";
-
-  src = fetchFromGitHub {
-    owner = "ful1e5";
-    repo = "Bibata_Cursor";
-    rev = "v${version}";
-    sha256 = "zCk7qgPeae0BfzhxxU2Dk1SOWJQOxiWyJuzH/ri+Gq4=";
-  };
-
-  buildInputs = [ clickgen attrs ];
-
-  buildPhase = ''
-    ctgen build.toml -p x11 -d 'bitmaps/Bibata-Modern-Amber' -n 'Bibata-Modern-Amber' -c 'Yellowish and rounded edge bibata cursors.'
-    ctgen build.toml -p x11 -d 'bitmaps/Bibata-Modern-Classic' -n 'Bibata-Modern-Classic' -c 'Black and rounded edge Bibata cursors.'
-    ctgen build.toml -p x11 -d 'bitmaps/Bibata-Modern-Ice' -n 'Bibata-Modern-Ice' -c 'White and rounded edge Bibata cursors.'
-
-    ctgen build.toml -p x11 -d 'bitmaps/Bibata-Original-Amber' -n 'Bibata-Original-Amber' -c 'Yellowish and sharp edge Bibata cursors.'
-    ctgen build.toml -p x11 -d 'bitmaps/Bibata-Original-Classic' -n 'Bibata-Original-Classic' -c 'Black and sharp edge Bibata cursors.'
-    ctgen build.toml -p x11 -d 'bitmaps/Bibata-Original-Ice' -n 'Bibata-Original-Ice' -c 'White and sharp edge Bibata cursors.'
-  '';
-
-  installPhase = ''
-    install -dm 0755 $out/share/icons
-    cp -rf themes/* $out/share/icons/
-  '';
-
-  meta = with lib; {
-    description = "Material Based Cursor Theme";
-    homepage = "https://github.com/ful1e5/Bibata_Cursor";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ rawkode AdsonCicilioti ];
-  };
-}
diff --git a/pkgs/data/icons/catppuccin-cursors/default.nix b/pkgs/data/icons/catppuccin-cursors/default.nix
index 20e4718515e61..eeb9dd3227f07 100644
--- a/pkgs/data/icons/catppuccin-cursors/default.nix
+++ b/pkgs/data/icons/catppuccin-cursors/default.nix
@@ -9,9 +9,8 @@ let
     palette = [ "Frappe" "Latte" "Macchiato" "Mocha" ];
     color = [ "Blue" "Dark" "Flamingo" "Green" "Lavender" "Light" "Maroon" "Mauve" "Peach" "Pink" "Red" "Rosewater" "Sapphire" "Sky" "Teal" "Yellow" ];
   };
-  product = lib.attrsets.cartesianProductOfSets dimensions;
   variantName = { palette, color }: (lib.strings.toLower palette) + color;
-  variants = map variantName product;
+  variants = lib.mapCartesianProduct variantName dimensions;
 in
 stdenvNoCC.mkDerivation rec {
   pname = "catppuccin-cursors";
diff --git a/pkgs/data/icons/comixcursors/default.nix b/pkgs/data/icons/comixcursors/default.nix
index 1c4fdc195180b..735ff686b49cf 100644
--- a/pkgs/data/icons/comixcursors/default.nix
+++ b/pkgs/data/icons/comixcursors/default.nix
@@ -7,14 +7,13 @@ let
     thickness = [ "" "Slim_" ];  # Thick or slim edges.
     handedness = [ "" "LH_" ];   # Right- or left-handed.
   };
-  product = lib.cartesianProductOfSets dimensions;
   variantName =
     { color, opacity, thickness, handedness }:
     "${handedness}${opacity}${thickness}${color}";
   variants =
     # (The order of this list is already good looking enough to show in the
     # meta.longDescription.)
-    map variantName product;
+    lib.mapCartesianProduct variantName dimensions;
 in
 stdenvNoCC.mkDerivation rec {
   pname = "comixcursors";
diff --git a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
index 69eef5754d625..8433d58795be2 100644
--- a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
+++ b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-xfce-icon-theme";
-  version = "0.18";
+  version = "0.19";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = "elementary-xfce";
     rev = "v${version}";
-    sha256 = "sha256-OgQtqBrYKDgU4mhXLFO8YwiPv2lKqGSdZnfKCd9ri4g=";
+    sha256 = "sha256-exrPxJ6S3xV1EJ61KW1MqCcOSzPY9zOycuSh8I9Gdns=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 3294508a1c665..7641a9a7ba7c6 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "24.03.12";
+  version = "24.04.16";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dMPbu23e8ZCDZCYpbfoRwbtDMcy/+IImjGV17Sb5DBk=";
+    sha256 = "sha256-PYsGP0Snn9A5cJ5CG+RyjC+TJwAqJOFQdnYIUkugnq0=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/phinger-cursors/default.nix b/pkgs/data/icons/phinger-cursors/default.nix
index 82742723806f5..26b729b268c93 100644
--- a/pkgs/data/icons/phinger-cursors/default.nix
+++ b/pkgs/data/icons/phinger-cursors/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "phinger-cursors";
-  version = "1.1";
+  version = "2.0";
 
   src = fetchurl {
     url = "https://github.com/phisch/phinger-cursors/releases/download/v${version}/phinger-cursors-variants.tar.bz2";
-    sha256 = "sha256-II+1x+rcjGRRVB8GYkVwkKVHNHcNaBKRb6C613901oc=";
+    sha256 = "sha256-A12BGtc0+wDqeSGN4lbUe5G3Pv4IsQB4TkvWHnDU6bE=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/data/icons/pop-icon-theme/default.nix b/pkgs/data/icons/pop-icon-theme/default.nix
index 2a27122da5db7..8d4467e3abad6 100644
--- a/pkgs/data/icons/pop-icon-theme/default.nix
+++ b/pkgs/data/icons/pop-icon-theme/default.nix
@@ -10,13 +10,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "pop-icon-theme";
-  version = "3.3.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = "icon-theme";
     rev = "v${version}";
-    sha256 = "sha256-7cDXEkqtPNQsyZvuYZhBSgAYshkDlP8o8umWGbNLtjw=";
+    sha256 = "sha256-V8xBZj6T4Ly/GHV0CVLZ1a4UZbmCkhYRe05qUfJk7Wg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/icons/whitesur-icon-theme/default.nix b/pkgs/data/icons/whitesur-icon-theme/default.nix
index a6514b3fe0d41..e9ca757add207 100644
--- a/pkgs/data/icons/whitesur-icon-theme/default.nix
+++ b/pkgs/data/icons/whitesur-icon-theme/default.nix
@@ -27,13 +27,13 @@ lib.checkListOfEnum "${pname}: theme variants" [
 
 stdenvNoCC.mkDerivation rec {
   inherit pname;
-  version = "2023-07-03";
+  version = "2024.04.08";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    hash = "sha256-lq6d3BForrvzEJYeEMQZplvn/p6dPjggTToAU9UcPoM=";
+    hash = "sha256-Baf0BowyR4P7MDx+LmH6MHlANl+9lXlCaQispN4/i9o=";
   };
 
   nativeBuildInputs = [ gtk3 jdupes ];
diff --git a/pkgs/data/misc/clash-geoip/default.nix b/pkgs/data/misc/clash-geoip/default.nix
index 0ec9663cbac31..7514d08f5e11f 100644
--- a/pkgs/data/misc/clash-geoip/default.nix
+++ b/pkgs/data/misc/clash-geoip/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "clash-geoip";
-  version = "20240312";
+  version = "20240412";
 
   src = fetchurl {
     url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
-    sha256 = "sha256-h6nrlzFBRrvL+hUOnpWi/aixKDOlRoTV4zQYIHGslIY=";
+    sha256 = "sha256-xc31FwO9wku1MzLIuCScOKEgzwLPn5NuXi2H4L3+M9s=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/misc/conway_polynomials/default.nix b/pkgs/data/misc/conway_polynomials/default.nix
deleted file mode 100644
index caf470c511523..0000000000000
--- a/pkgs/data/misc/conway_polynomials/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv
-, fetchurl
-, python3
-}:
-
-stdenv.mkDerivation rec {
-  pname = "conway_polynomials";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "mirror://sageupstream/conway_polynomials/conway_polynomials-${version}.tar.bz2";
-    sha256 = "05zb1ly9x2bbscqv0jgc45g48xx77mfs7qdbqhn4ihmihn57iwnq";
-  };
-
-  # Script that creates the "database" (nested python array) and pickles it
-  spkg-install = fetchurl {
-    url = "https://raw.githubusercontent.com/sagemath/sage/9.2/build/pkgs/conway_polynomials/spkg-install.py";
-    sha256 = "1bwnqasnyv793hxg29viing4dnliz29grkhldsirq19d509yk1fs";
-  };
-
-  installPhase = ''
-    # directory layout as spkg-install.py expects
-    dir="$PWD"
-    cd ..
-    ln -s "$dir" "src"
-
-    # environment spkg-install.py expects
-    mkdir -p "$out/share"
-    export SAGE_SHARE="$out/share"
-    export PYTHONPATH=$PWD
-
-    ${python3.interpreter} ${spkg-install}
-  '';
-
-  meta = with lib; {
-    description = "Contains a small database of Conway polynomials";
-    license = licenses.gpl2;
-    platforms = platforms.all;
-    maintainers = teams.sage.members;
-  };
-}
diff --git a/pkgs/data/misc/dbip-country-lite/default.nix b/pkgs/data/misc/dbip-country-lite/default.nix
index 90110d94d1ad3..ca151c3b4dfbb 100644
--- a/pkgs/data/misc/dbip-country-lite/default.nix
+++ b/pkgs/data/misc/dbip-country-lite/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "dbip-country-lite";
-  version = "2024-03";
+  version = "2024-04";
 
   src = fetchurl {
     url = "https://download.db-ip.com/free/dbip-country-lite-${finalAttrs.version}.mmdb.gz";
-    hash = "sha256-pWlNmM7CCiIS1GRRX5GRWNOF5tOwPPTytgc7V2+l3LE=";
+    hash = "sha256-tpiggDnhYPeLJ21mctXjbNSS2Gw4RI8gnpc1stDVmMc=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index b82a5ca0e3786..ede51924e0275 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "c947711834678a5466dcca9367676bc61ed0a991",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/c947711834678a5466dcca9367676bc61ed0a991.tar.gz",
-  "sha256": "1slm1b6s8hk7x5rlr9fmsipkj8g6jsbvf5lfr2zzz8msfr5z8j8c",
-  "msg": "Update from Hackage at 2024-02-12T23:23:22Z"
+  "commit": "5bae847bf7e96ce10e824377f4cb7f02c51b7245",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/5bae847bf7e96ce10e824377f4cb7f02c51b7245.tar.gz",
+  "sha256": "1p45mapjca2d7r8ky27s0pn3sflp61iippcabsb85s49fi9sqlv2",
+  "msg": "Update from Hackage at 2024-04-09T20:48:09Z"
 }
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index ee83d1cca0bbf..2f60c1367f2ce 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "iana-etc";
-  version = "20231227";
+  version = "20240318";
 
   src = fetchzip {
     url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
-    sha256 = "sha256-8Pa6LtAml8axjrUS32UbFIqTtM8v124U2Tt0J4sC0Is=";
+    sha256 = "sha256-t/VOTFDdAH+EdzofdMyUO9Yvl5qdMjdPl9ebYtBC388=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/misc/nixos-artwork/icons.nix b/pkgs/data/misc/nixos-artwork/icons.nix
index af8a157d491ca..75c7075bae9fd 100644
--- a/pkgs/data/misc/nixos-artwork/icons.nix
+++ b/pkgs/data/misc/nixos-artwork/icons.nix
@@ -1,25 +1,39 @@
 { stdenv
+, lib
 , fetchFromGitHub
 , imagemagick
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttrs: {
   pname = "nixos-icons";
-  version = "2021-02-24";
+  version = "0-unstable-2024-04-10";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "nixos-artwork";
-    rev = "488c22aad523c709c44169d3e88d34b4691c20dc";
-    sha256 = "ZoanCzn4pqGB1fyMzMyGQVT0eIhNdL7ZHJSn1VZWVRs=";
+    rev = "f84c13adae08e860a7c3f76ab3a9bef916d276cc";
+    hash = "sha256-lO/2dLGK2f9pzLHudRIs4PUcGUliy7kfyt9r4CbhbVg=";
   };
 
+  sourceRoot = "${finalAttrs.src.name}/icons";
+
+  strictDeps = true;
+
   nativeBuildInputs = [
     imagemagick
   ];
 
   makeFlags = [
-    "DESTDIR=${placeholder "out"}"
-    "prefix="
+    "prefix=${placeholder "out"}"
   ];
-}
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Icons of the Nix logo, in Freedesktop Icon Directory Layout";
+    homepage = "https://github.com/NixOS/nixos-artwork";
+    license = licenses.cc-by-40;
+    maintainers = with maintainers; [];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/data/misc/rime-data/default.nix b/pkgs/data/misc/rime-data/default.nix
index 97404764e2005..15c33238e8da3 100644
--- a/pkgs/data/misc/rime-data/default.nix
+++ b/pkgs/data/misc/rime-data/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "rime-data";
-  version = "0.38.20211002";
+  version = "0.38.20231116";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = "plum";
-    rev = "1730556e1da5a08bb8e0a656c4780a46851a2913";
-    sha256 = "sha256-D7rPUxcB3QkCtisfBLHPiqfgL5lqmxjSiuEcpE63elw=";
+    rev = "6f502ff6fa87789847fa18200415318e705bffa4";
+    sha256 = "sha256-DNSLP0dzzgJ6XzwvxGPeRqRrRIUV/GwD2+8cz9bYAwA=";
   };
 
   buildInputs = [ librime ];
diff --git a/pkgs/data/misc/rime-data/fetchSchema.nix b/pkgs/data/misc/rime-data/fetchSchema.nix
index c2841a9f1e61d..6ceb44fefe5ca 100644
--- a/pkgs/data/misc/rime-data/fetchSchema.nix
+++ b/pkgs/data/misc/rime-data/fetchSchema.nix
@@ -5,8 +5,8 @@ mkdir -p package/rime
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-array";
-  rev = "d10f2f8b2aec7c7e736ace01e8a399e5ae5e7c3a";
-  sha256 = "sha256-4t6+gh2V57SueDp9Tn6vTuxQCZNGzjLdJEhzIEqRjdI=";
+  rev = "b37aad383ff6e71e457aa6d1d47d2040af8649b9";
+  sha256 = "0krvxnjr35r49wwi6bcjdnld6zbk791l7vm294wmdy36qfp2924y";
 }} package/rime/array
 ln -sv ${fetchFromGitHub {
   owner = "rime";
@@ -23,14 +23,14 @@ ln -sv ${fetchFromGitHub {
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-cantonese";
-  rev = "b6f800c74eb639816d56d0d5601aaa96c8963178";
-  sha256 = "1a4ksacbz8l30y3y5c017d0hzwik8knplglb3yswy7l4hsvaanyh";
+  rev = "e3c6b17e638ac8a9aeab4d5852e5909b049c5ab3";
+  sha256 = "171a64l17yb6isgiih2z0cp2vgzvdcn0vby3rk8556b0ir4j545q";
 }} package/rime/cantonese
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-combo-pinyin";
-  rev = "a84065a86b272c76215215bd6f03c506b6e7097c";
-  sha256 = "1f0b4kakw0x26gmx7xi4f94nbjlb8lvi9bks4f92jswa045vnd87";
+  rev = "17b66079a23a00d3214639fee2b8ae97d3e620dc";
+  sha256 = "1izx29hawfryapfzadysjbb2zfw0yq6vwsw56khkf6gsaz1faamn";
 }} package/rime/combo-pinyin
 ln -sv ${fetchFromGitHub {
   owner = "rime";
@@ -41,14 +41,14 @@ ln -sv ${fetchFromGitHub {
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-emoji";
-  rev = "4c8c51f4a3bc7298c99376eda9bbd86070fc4fa1";
-  sha256 = "0175jqh210fncafqckr9zzaw55qpswmqjrykwms1apmc68l43122";
+  rev = "a18b09997e7c457066e4c92adf249a4b3e235f9c";
+  sha256 = "0gaa9r3yx1s135jlqxp85iyygcwqgz2k4n1bpvjr2n8xkn9297b6";
 }} package/rime/emoji
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-essay";
-  rev = "9db2e77305e75798baf3ec8dcf1f82785b5e1be9";
-  sha256 = "03ypkkaadd5qmyg26n24a66cll90xvcimgbmiyv4d33jradiqg22";
+  rev = "e0519d0579722a0871efb68189272cba61a7350b";
+  sha256 = "1g7188vgklxindvm6p65b5jlm6z47fdmhmp0hqrrd6smg9pz4qpw";
 }} package/rime/essay
 ln -sv ${fetchFromGitHub {
   owner = "rime";
@@ -59,32 +59,32 @@ ln -sv ${fetchFromGitHub {
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-jyutping";
-  rev = "1e24baa6998815c716c581effe8ec65ee87c4e8c";
-  sha256 = "0s2rckpwlrm3n7w1csnqyi5p9mkpp3z87s7mrm2vc9sv06rpv7zl";
+  rev = "50100769f645bf92afef5170e3bf42be5147b41b";
+  sha256 = "1dmw2ssbqxbs93iab0whjzncsvv66vyw3hwb30kly2v18bwkagq0";
 }} package/rime/jyutping
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-luna-pinyin";
-  rev = "623adb022b094d540218b287c2e601509eee3347";
-  sha256 = "06pcwp09l5wkqv7792gbsl31xnlb3gr9q6bgbp94vvq6m2ycahqz";
+  rev = "79aeae200a7370720be98232844c0715f277e1c0";
+  sha256 = "06vff5hq85dkbmqch9d3w2rww2n8sk41c7say0pdlkfphyjs76ps";
 }} package/rime/luna-pinyin
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-middle-chinese";
-  rev = "9fad7a7c0c26167d5e6e85db8df48a15c7f7d4f0";
-  sha256 = "0a0bqrlzg0k692xblqnh1rh1fwwqqb205xwxlihgji85n8ibcgph";
+  rev = "582e144e525525ac2b6c2498097d7c7919e84174";
+  sha256 = "0ixj2f3syc0hv9n5r0cavcq0jrdf1www2frjl11855gwydp4lsx5";
 }} package/rime/middle-chinese
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-pinyin-simp";
-  rev = "b0e84cda02c613ebdedc127a26131b3800f45a8e";
-  sha256 = "05v804qr3a9xvjzp9yid7231fi2l2yrl47ybbvql61z9k36ab094";
+  rev = "52b9c75f085479799553f2499c4f4c611d618cdf";
+  sha256 = "1zi9yqgijb4r3q5ah89hdwbli5xhlmg19xj8sq1grnpfbw2hbdbj";
 }} package/rime/pinyin-simp
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-prelude";
-  rev = "3de303ffaa731dba07b0462ce59f4767e1219ad2";
-  sha256 = "0g7a0bla58rh1v3md59k6adk185pilb4z8i2i0pqdl4nwqp40n2p";
+  rev = "dd84abecc33f0b05469f1d744e32d2b60b3529e3";
+  sha256 = "14wn86xqvb6r73pgksi51wgfc70pj95iqrl85m2i0fwl43zg2y5g";
 }} package/rime/prelude
 ln -sv ${fetchFromGitHub {
   owner = "rime";
@@ -113,20 +113,20 @@ ln -sv ${fetchFromGitHub {
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-stroke";
-  rev = "ea8576d1accd6fda339e96b415caadb56e2a07d1";
-  sha256 = "07h6nq9867hjrd2v3h1pnr940sdrw4mqrzj43siz1rzjxz3s904r";
+  rev = "e6c7608925009636577ff7469eecc870f1de18f3";
+  sha256 = "1rzclksf09s9js6z9mjm4ibgybr6kg2c4xq4j6sg9b3pnjbjwv8g";
 }} package/rime/stroke
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-terra-pinyin";
-  rev = "ce7b9249612f575d2f43d51fcacd31d1b4e0ef1b";
-  sha256 = "0vm303f4lrdmdmif5klrp6w29vn9z2vzw33cw0y83pcnz39wiads";
+  rev = "9427853de91d645d9aca9ceace8fe9e9d8bc5b50";
+  sha256 = "0f1wiqasy41hp3kw3qc5zk6z0rgfrswdw91kc66v1w1a3skb6wpp";
 }} package/rime/terra-pinyin
 ln -sv ${fetchFromGitHub {
   owner = "rime";
   repo = "rime-wubi";
-  rev = "f1876f08f1d4a9696395be0070c0e8e4353c44cb";
-  sha256 = "1d9y9rqssacria9d0hla96czsqv2wkfm6z926m1x269ryv96zxvk";
+  rev = "152a0d3f3efe40cae216d1e3b338242446848d07";
+  sha256 = "1p2ikcw40q84fx0ixarm1jfp8ax276pabansybchrj34cqs53sr1";
 }} package/rime/wubi
 ln -sv ${fetchFromGitHub {
   owner = "rime";
diff --git a/pkgs/data/misc/sing-geoip/default.nix b/pkgs/data/misc/sing-geoip/default.nix
index b27a61ef02013..2e128c6efe362 100644
--- a/pkgs/data/misc/sing-geoip/default.nix
+++ b/pkgs/data/misc/sing-geoip/default.nix
@@ -8,26 +8,32 @@
 let
   generator = buildGoModule rec {
     pname = "sing-geoip";
-    version = "20230512";
+    version = "20240312";
 
     src = fetchFromGitHub {
       owner = "SagerNet";
       repo = pname;
       rev = "refs/tags/${version}";
-      hash = "sha256-Zm+5N/37hoHpH/TLNJrHeaBXI8G1jEpM1jz6Um8edNE=";
+      hash = "sha256-nIrbiECK25GyuPEFqMvPdZUShC2JC1NI60Y10SsoWyY=";
     };
 
-    vendorHash = "sha256-ejXAdsJwXhqet+Ca+pDLWwu0gex79VcIxW6rmhRnbTQ=";
+    vendorHash = "sha256-WH0eMg06qCiVcy4H+vBtYrmLMA2KJRCPGXiEnatW+LU=";
+
+    postPatch = ''
+      sed -i -e '/func main()/,/^}/d' main.go
+      cat ${./main.go} >> main.go
+    '';
 
     meta = with lib; {
       description = "GeoIP data for sing-box";
       homepage = "https://github.com/SagerNet/sing-geoip";
       license = licenses.gpl3Plus;
       maintainers = with maintainers; [ linsui ];
+      mainProgram = "sing-geoip";
     };
   };
 in
-stdenvNoCC.mkDerivation rec {
+stdenvNoCC.mkDerivation {
   inherit (generator) pname;
   inherit (dbip-country-lite) version;
 
@@ -38,8 +44,7 @@ stdenvNoCC.mkDerivation rec {
   buildPhase = ''
     runHook preBuild
 
-    ${pname} ${dbip-country-lite.mmdb} geoip.db
-    ${pname} ${dbip-country-lite.mmdb} geoip-cn.db cn
+    sing-geoip ${dbip-country-lite.mmdb}
 
     runHook postBuild
   '';
@@ -49,6 +54,7 @@ stdenvNoCC.mkDerivation rec {
 
     install -Dm644 geoip.db $out/share/sing-box/geoip.db
     install -Dm644 geoip-cn.db $out/share/sing-box/geoip-cn.db
+    install -Dm644 rule-set/* -t $out/share/sing-box/rule-set
 
     runHook postInstall
   '';
diff --git a/pkgs/data/misc/sing-geoip/main.go b/pkgs/data/misc/sing-geoip/main.go
new file mode 100644
index 0000000000000..8c2ac246fba4a
--- /dev/null
+++ b/pkgs/data/misc/sing-geoip/main.go
@@ -0,0 +1,68 @@
+func main() {
+	var err error
+
+  input := os.Args[1]
+  ruleSetOutput := "rule-set"
+
+  binary, err := os.ReadFile(input)
+	if err != nil {
+		panic(err)
+	}
+  metadata, countryMap, err := parse(binary)
+	if err != nil {
+		panic(err)
+	}
+	allCodes := make([]string, 0, len(countryMap))
+	for code := range countryMap {
+		allCodes = append(allCodes, code)
+	}
+
+	writer, err := newWriter(metadata, allCodes)
+	if err != nil {
+		panic(err)
+	}
+	err = write(writer, countryMap, "geoip.db", nil)
+	if err != nil {
+		panic(err)
+	}
+
+	writer, err = newWriter(metadata, []string{"cn"})
+	if err != nil {
+		panic(err)
+	}
+	err = write(writer, countryMap, "geoip-cn.db", []string{"cn"})
+	if err != nil {
+		panic(err)
+	}
+
+	err = os.MkdirAll(ruleSetOutput, 0o755)
+	if err != nil {
+		panic(err)
+	}
+	for countryCode, ipNets := range countryMap {
+		var headlessRule option.DefaultHeadlessRule
+		headlessRule.IPCIDR = make([]string, 0, len(ipNets))
+		for _, cidr := range ipNets {
+			headlessRule.IPCIDR = append(headlessRule.IPCIDR, cidr.String())
+		}
+		var plainRuleSet option.PlainRuleSet
+		plainRuleSet.Rules = []option.HeadlessRule{
+			{
+				Type:           C.RuleTypeDefault,
+				DefaultOptions: headlessRule,
+			},
+		}
+		srsPath, _ := filepath.Abs(filepath.Join(ruleSetOutput, "geoip-"+countryCode+".srs"))
+		os.Stderr.WriteString("write " + srsPath + "\n")
+		outputRuleSet, err := os.Create(srsPath)
+		if err != nil {
+			panic(err)
+		}
+		err = srs.Write(outputRuleSet, plainRuleSet)
+		if err != nil {
+			outputRuleSet.Close()
+			panic(err)
+		}
+		outputRuleSet.Close()
+	}
+}
diff --git a/pkgs/data/misc/sing-geosite/default.nix b/pkgs/data/misc/sing-geosite/default.nix
index ac521f3ec280f..8540eb5340018 100644
--- a/pkgs/data/misc/sing-geosite/default.nix
+++ b/pkgs/data/misc/sing-geosite/default.nix
@@ -38,6 +38,7 @@ buildGoModule {
   installPhase = ''
     runHook preInstall
     install -Dm644 geosite.db $out/share/sing-box/geosite.db
+    install -Dm644 rule-set/* -t $out/share/sing-box/rule-set
     runHook postInstall
   '';
 
diff --git a/pkgs/data/misc/sing-geosite/main.go b/pkgs/data/misc/sing-geosite/main.go
index d059d99ffe1eb..e6ca57275adbf 100644
--- a/pkgs/data/misc/sing-geosite/main.go
+++ b/pkgs/data/misc/sing-geosite/main.go
@@ -16,4 +16,37 @@ func main() {
 	if err != nil {
 		panic(err)
 	}
+
+	ruleSetOutput := "rule-set"
+	err = os.MkdirAll(ruleSetOutput, 0o755)
+	if err != nil {
+		panic(err)
+	}
+	for code, domains := range domainMap {
+		var headlessRule option.DefaultHeadlessRule
+		defaultRule := geosite.Compile(domains)
+		headlessRule.Domain = defaultRule.Domain
+		headlessRule.DomainSuffix = defaultRule.DomainSuffix
+		headlessRule.DomainKeyword = defaultRule.DomainKeyword
+		headlessRule.DomainRegex = defaultRule.DomainRegex
+		var plainRuleSet option.PlainRuleSet
+		plainRuleSet.Rules = []option.HeadlessRule{
+			{
+				Type:           C.RuleTypeDefault,
+				DefaultOptions: headlessRule,
+			},
+		}
+		srsPath, _ := filepath.Abs(filepath.Join(ruleSetOutput, "geosite-"+code+".srs"))
+		os.Stderr.WriteString("write " + srsPath + "\n")
+		outputRuleSet, err := os.Create(srsPath)
+		if err != nil {
+			panic(err)
+		}
+		err = srs.Write(outputRuleSet, plainRuleSet)
+		if err != nil {
+			outputRuleSet.Close()
+			panic(err)
+		}
+		outputRuleSet.Close()
+	}
 }
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 5d6895da7125e..fb73738345a31 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
 let
   generator = pkgsBuildBuild.buildGoModule rec {
     pname = "v2ray-domain-list-community";
-    version = "20240310062737";
+    version = "20240410101316";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      hash = "sha256-KJSa5qDNGokNin0M2BppRks1qyMg19o+EOxu5OsCeOg=";
+      hash = "sha256-llj1z9fIzELeIIhyW6dmAl8Z/0DtZq3tkMrfwSJkZbE=";
     };
     vendorHash = "sha256-azvMUi8eLNoNofRa2X4SKTTiMd6aOyO6H/rOiKjkpIY=";
     meta = with lib; {
diff --git a/pkgs/data/themes/adw-gtk3/default.nix b/pkgs/data/themes/adw-gtk3/default.nix
index db4fa114110fa..b00e71a5f16cc 100644
--- a/pkgs/data/themes/adw-gtk3/default.nix
+++ b/pkgs/data/themes/adw-gtk3/default.nix
@@ -9,13 +9,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "adw-gtk3";
-  version = "5.2";
+  version = "5.3";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-S6Yo67DTyRzS9uz/6g87SRmfPIBmAKfy4c23M5aENNg=";
+    sha256 = "sha256-DpJLX9PJX1Q8dDOx7YOXQzgNECsKp5uGiCVTX6iSlbI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/themes/andromeda-gtk-theme/default.nix b/pkgs/data/themes/andromeda-gtk-theme/default.nix
new file mode 100644
index 0000000000000..9372d611c57f7
--- /dev/null
+++ b/pkgs/data/themes/andromeda-gtk-theme/default.nix
@@ -0,0 +1,61 @@
+{ lib, stdenvNoCC, fetchFromGitHub, gtk-engine-murrine }:
+
+stdenvNoCC.mkDerivation {
+  pname = "andromeda-gtk-theme";
+  version = "0-unstable-2024-03-04";
+
+  srcs = [
+    (fetchFromGitHub {
+      owner = "EliverLara";
+      repo = "Andromeda-gtk";
+      rev = "250751a546dd0fa2e67eef86d957fbf993b61dfe";
+      hash = "sha256-exr9j/jW2P9cBhKUPQy3AtK5Vgav5vOyWInXUyVhBk0=";
+      name = "Andromeda";
+    })
+
+    (fetchFromGitHub {
+      owner = "EliverLara";
+      repo = "Andromeda-gtk";
+      rev = "11a6194d19cb846447db048455a5e782ec830ae1";
+      hash = "sha256-Yy3mih0nyA+ahLqj2D99EKqtmWYJRsvQMkmlLfUPcqQ=";
+      name = "Andromeda-standard-buttons";
+    })
+  ];
+
+  sourceRoot = ".";
+
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/themes
+    cp -a Andromeda* $out/share/themes
+
+    # remove uneeded files, which are not distributed in https://www.gnome-look.org/p/2039961/
+    rm -rf $out/share/themes/*/.gitignore
+    rm -rf $out/share/themes/*/Art
+    rm -rf $out/share/themes/*/LICENSE
+    rm -rf $out/share/themes/*/README.md
+    rm -rf $out/share/themes/*/{package.json,package-lock.json,Gulpfile.js}
+    rm -rf $out/share/themes/*/src
+    rm -rf $out/share/themes/*/cinnamon/*.scss
+    rm -rf $out/share/themes/*/gnome-shell/{earlier-versions,extensions,*.scss}
+    rm -rf $out/share/themes/*/gtk-2.0/{assets.svg,assets.txt,links.fish,render-assets.sh}
+    rm -rf $out/share/themes/*/gtk-3.0/{apps,widgets,*.scss}
+    rm -rf $out/share/themes/*/gtk-4.0/{apps,widgets,*.scss}
+    rm -rf $out/share/themes/*/xfwm4/{assets,render_assets.fish}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An elegant dark theme for gnome, mate, budgie, cinnamon, xfce";
+    homepage = "https://github.com/EliverLara/Andromeda-gtk";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jakedevs ];
+  };
+}
diff --git a/pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch b/pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch
new file mode 100644
index 0000000000000..7ee1f4bd9b6f7
--- /dev/null
+++ b/pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch
@@ -0,0 +1,17 @@
+diff --git a/scripts/create_theme.py b/scripts/create_theme.py
+index 074dc43..7e7a8eb 100644
+--- a/scripts/create_theme.py
++++ b/scripts/create_theme.py
+@@ -34,7 +34,11 @@ def create_theme(types: List[str], accents: List[str], dest: str, link: bool = F
+             os.chdir(work_dir)
+             subprocess.call("./build.sh", shell=True) # Rebuild all scss
+             subprocess.call(install_cmd, shell=True) # Install the theme globally for you
+-            subprocess.call("git reset --hard HEAD", shell=True)  # reset colloid repo to original state
++            # subprocess.call("git reset --hard HEAD", shell=True)  # reset colloid repo to original state
++            # recreate git reset
++            os.chdir(repo_dir)
++            shutil.rmtree("colloid")
++            shutil.copytree("colloid-base", "colloid")
+ 
+             try:
+                 # Rename colloid generated files as per catppuccin
diff --git a/pkgs/data/themes/catppuccin-gtk/default.nix b/pkgs/data/themes/catppuccin-gtk/default.nix
index 49df77b2adb96..2e552290ffd35 100644
--- a/pkgs/data/themes/catppuccin-gtk/default.nix
+++ b/pkgs/data/themes/catppuccin-gtk/default.nix
@@ -29,17 +29,21 @@ lib.checkListOfEnum "${pname}: tweaks" validTweaks tweaks
 
 stdenvNoCC.mkDerivation rec {
   inherit pname;
-  version = "0.7.1";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "catppuccin";
     repo = "gtk";
     rev = "v${version}";
-    hash = "sha256-V3JasiHaATbVDQJeJPeFq5sjbkQnSMbDRWsaRzGccXU=";
+    hash = "sha256-pGL8vaE63ss2ZT2FoNDfDkeuCxjcbl02RmwwfHC/Vxg=";
   };
 
   nativeBuildInputs = [ gtk3 sassc ];
 
+  patches = [
+    ./colloid-src-git-reset.patch
+  ];
+
   buildInputs = [
     gnome-themes-extra
     (python3.withPackages (ps: [ ps.catppuccin ]))
@@ -54,7 +58,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   postPatch = ''
-    patchShebangs --build colloid/install.sh
+    patchShebangs --build colloid/install.sh colloid/build.sh
   '';
 
   dontConfigure = true;
@@ -63,6 +67,7 @@ stdenvNoCC.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
+    cp -r colloid colloid-base
     mkdir -p $out/share/themes
     export HOME=$(mktemp -d)
 
diff --git a/pkgs/data/themes/catppuccin-kde/default.nix b/pkgs/data/themes/catppuccin-kde/default.nix
index 8dac978a64dc5..b4ce9ed5d39f0 100644
--- a/pkgs/data/themes/catppuccin-kde/default.nix
+++ b/pkgs/data/themes/catppuccin-kde/default.nix
@@ -21,19 +21,19 @@ in
 
 stdenvNoCC.mkDerivation rec {
   pname = "kde";
-  version = "0.2.4";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "catppuccin";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-w77lzeSisx/PPxctMJKIdRJenq0s8HwR8gLmgNh4SH8=";
+    hash = "sha256-pfG0L4eSXLYLZM8Mhla4yalpEro74S9kc0sOmQtnG3w=";
   };
 
   patches = [
     (fetchpatch {
-      url = "https://github.com/michaelBelsanti/catppuccin-kde/commit/81a8edb3c24bd6af896c92b5051e09af97d69c51.patch";
-      hash = "sha256-cb4/dQ52T+H8UqXEgExblmnMfxwO0Y1BrjMCay/EAkI=";
+      url = "https://github.com/GiggleSquid/catppuccin-kde/commit/f0291c17d2e4711b0d0aac00e3dbb94ee89b4a82.patch";
+      hash = "sha256-iD+mEX2LRFmrCwLr3VAs6kzcTuZ231TKDn+U188iOss=";
     })
   ];
 
@@ -57,6 +57,6 @@ stdenvNoCC.mkDerivation rec {
     description = "Soothing pastel theme for KDE";
     homepage = "https://github.com/catppuccin/kde";
     license = licenses.mit;
-    maintainers = with maintainers; [ michaelBelsanti ];
+    maintainers = with maintainers; [ michaelBelsanti gigglesquid ];
   };
 }
diff --git a/pkgs/data/themes/catppuccin-sddm-corners/default.nix b/pkgs/data/themes/catppuccin-sddm-corners/default.nix
index eca8bac5e4980..952399f7bf868 100644
--- a/pkgs/data/themes/catppuccin-sddm-corners/default.nix
+++ b/pkgs/data/themes/catppuccin-sddm-corners/default.nix
@@ -1,21 +1,37 @@
 { lib
 , stdenvNoCC
 , fetchFromGitHub
+, libsForQt5
+, unstableGitUpdater
 }:
 
 stdenvNoCC.mkDerivation {
   pname = "catppuccin-sddm-corners";
-  version = "unstable-2023-02-17";
+  version = "unstable-2023-05-30";
 
   src = fetchFromGitHub {
     owner = "khaneliman";
     repo = "catppuccin-sddm-corners";
-    rev = "7b7a86ee9a5a2905e7e6623d2af5922ce890ef79";
-    hash = "sha256-sTnt8RarNXz3RmYfmx4rD+nMlY8rr2n0EN3ntPzOurw=";
+    rev = "ffaad5c8964b52ccd92a80dfd3a7931c8b68c446";
+    hash = "sha256-CaCMrXlwt7JfSycB8WH3XCWUu+i7bPSfFv3duo7ZlZo=";
   };
 
   dontConfigure = true;
   dontBuild = true;
+  dontWrapQtApps = true;
+
+  propagatedBuildInputs = with libsForQt5.qt5; [
+    qtgraphicaleffects
+    qtquickcontrols2
+    qtsvg
+  ];
+
+  postFixup = ''
+    mkdir -p $out/nix-support
+    echo ${libsForQt5.qt5.qtgraphicaleffects}  >> $out/nix-support/propagated-user-env-packages
+    echo ${libsForQt5.qt5.qtquickcontrols2}  >> $out/nix-support/propagated-user-env-packages
+    echo ${libsForQt5.qt5.qtsvg}  >> $out/nix-support/propagated-user-env-packages
+  '';
 
   installPhase = ''
     runHook preInstall
@@ -26,6 +42,8 @@ stdenvNoCC.mkDerivation {
     runHook postInstall
   '';
 
+  passthru.updateScript = unstableGitUpdater { };
+
   meta = {
     description = "Soothing pastel theme for SDDM based on corners theme.";
     homepage = "https://github.com/khaneliman/sddm-catppuccin-corners";
diff --git a/pkgs/data/themes/catppuccin/default.nix b/pkgs/data/themes/catppuccin/default.nix
index accc06f48c2f5..2463b1fde6db3 100644
--- a/pkgs/data/themes/catppuccin/default.nix
+++ b/pkgs/data/themes/catppuccin/default.nix
@@ -1,5 +1,5 @@
 let
-  validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "plymouth" "qt5ct" "refind" "rofi" "starship" "thunderbird" "waybar" ];
+  validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "lxqt" "plymouth" "qt5ct" "refind" "rofi" "starship" "thunderbird" "waybar" ];
 in
 { fetchFromGitHub
 , lib
@@ -80,6 +80,14 @@ let
       hash = "sha256-gM0HplHhcpvtpmIVdlX/p59h0v+ihKEidS1imqPYlBg=";
     };
 
+    lxqt = fetchFromGitHub {
+      name = "lxqt";
+      owner = "catppuccin";
+      repo = "lxqt";
+      rev = "38cf86b3e499e0c0928a102c9c030e5dc6b79255";
+      hash = "sha256-3TuUkOwk6BSc7BnLnTowGAkSlNTOtGTRlEcjJ6MNJ5g=";
+    };
+
     plymouth = fetchFromGitHub {
       name = "plymouth";
       owner = "catppuccin";
@@ -194,6 +202,10 @@ stdenvNoCC.mkDerivation {
     cp "${sources.lazygit}/themes/${variant}/${accent}.yml" "$out/lazygit/themes/"
     cp "${sources.lazygit}/themes-mergable/${variant}/${accent}.yml" "$out/lazygit/themes-mergable/"
 
+  '' + lib.optionalString (lib.elem "lxqt" themeList) ''
+    mkdir -p $out/share/lxqt/themes/catppuccin-${variant}
+    cp -r ${sources.lxqt}/src/catppuccin-${variant}/* $out/share/lxqt/themes/catppuccin-${variant}/
+
   '' + lib.optionalString (lib.elem "plymouth" themeList) ''
     mkdir -p $out/share/plymouth/themes/catppuccin-${variant}
     cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant}
diff --git a/pkgs/data/themes/colloid-gtk-theme/default.nix b/pkgs/data/themes/colloid-gtk-theme/default.nix
index 71e7fb9a28632..ef69114c855e0 100644
--- a/pkgs/data/themes/colloid-gtk-theme/default.nix
+++ b/pkgs/data/themes/colloid-gtk-theme/default.nix
@@ -18,17 +18,17 @@ in
 lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ] themeVariants
 lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants
 lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants
-lib.checkListOfEnum "${pname}: tweaks" [ "nord" "dracula" "gruvbox" "all" "black" "rimless" "normal" "float" ] tweaks
+lib.checkListOfEnum "${pname}: tweaks" [ "nord" "dracula" "gruvbox" "everforest" "all" "black" "rimless" "normal" "float" ] tweaks
 
 stdenvNoCC.mkDerivation rec {
   inherit pname;
-  version = "2023-10-28";
+  version = "2024-04-14";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    hash = "sha256-NxIWH3qLW8sEguovAv9wfgnlnmPlTipRJTmMo3rSHNY=";
+    hash = "sha256-DQYnR2V86KbIJfAA4ObRtKQq1IuECie1qdOBYVu8NtA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index cfc3689d7cc3e..db1ef4da0b1e3 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -2,7 +2,7 @@
 
 let
   themeName = "Dracula";
-  version = "unstable-2024-03-13";
+  version = "unstable-2024-04-08";
 in
 stdenvNoCC.mkDerivation {
   pname = "dracula-theme";
@@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "dracula";
     repo = "gtk";
-    rev = "573f88083ae759f480860552f66e9951077bc428";
-    hash = "sha256-BQPlKcsfhpVTtVrwS9yVpIkujF6vM/ToIDmy9X60Mhs=";
+    rev = "18350cafd8e9c775737f97fb5acf0890e29bc47a";
+    hash = "sha256-uhcRV7E7GDjWjetUHcz/E/g36m/yYTg3c9WJo6gYTJA=";
   };
 
   propagatedUserEnvPkgs = [
diff --git a/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix b/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix
index 63140298ea3a6..156d8aaaf9073 100644
--- a/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix
+++ b/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix
@@ -5,17 +5,24 @@
 , wrapQtAppsHook
 , kwin
 , lib
+, useQt5 ? false
 }:
+let
+  latestVersion = "2.0.1";
+  latestSha256 = "sha256-4KvOhQSYmHV/5TxyeK4f1uUmHK5uR5xXC2MfPTM96SM=";
 
+  qt5Version = "1.3.3";
+  qt5Sha256 = "sha256-zTUTsSzy4p0Y7RPOidCtxTjjyvPRyWSQCxA5sUzXcLc=";
+in
 stdenv.mkDerivation rec {
   pname = "sierra-breeze-enhanced";
-  version = "1.3.3";
+  version = if useQt5 then qt5Version else latestVersion;
 
   src = fetchFromGitHub {
     owner = "kupiqu";
     repo = "SierraBreezeEnhanced";
     rev = "V${version}";
-    sha256 = "sha256-zTUTsSzy4p0Y7RPOidCtxTjjyvPRyWSQCxA5sUzXcLc=";
+    sha256 = if useQt5 then qt5Sha256 else latestSha256;
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ];
@@ -32,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/kupiqu/SierraBreezeEnhanced";
     changelog = "https://github.com/kupiqu/SierraBreezeEnhanced/releases/tag/V${version}";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ A1ca7raz ];
   };
 }
diff --git a/pkgs/data/themes/orchis-theme/default.nix b/pkgs/data/themes/orchis-theme/default.nix
index 351c1c22207cd..75bdf7b07aa9c 100644
--- a/pkgs/data/themes/orchis-theme/default.nix
+++ b/pkgs/data/themes/orchis-theme/default.nix
@@ -26,13 +26,13 @@ lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks
 stdenvNoCC.mkDerivation
 rec {
   inherit pname;
-  version = "2023-10-20";
+  version = "2024-04-18";
 
   src = fetchFromGitHub {
     repo = "Orchis-theme";
     owner = "vinceliuice";
     rev = version;
-    hash = "sha256-GhSzTtbuvbAuXxKNm29sJX5kXE2s2jMDB6Ww6Q7GNSo=";
+    hash = "sha256-Kvafbvw1q8F0+l47WshFHPfZEQhFXPPXuI0RjBJnP4s=";
   };
 
   nativeBuildInputs = [ gtk3 sassc ];
diff --git a/pkgs/data/themes/where-is-my-sddm-theme/default.nix b/pkgs/data/themes/where-is-my-sddm-theme/default.nix
deleted file mode 100644
index 4eb8552a3d0f9..0000000000000
--- a/pkgs/data/themes/where-is-my-sddm-theme/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib
-, formats
-, stdenvNoCC
-, fetchFromGitHub
-, qtgraphicaleffects
-  /* An example of how you can override the background on the NixOS logo
-  *
-  *  environment.systemPackages = [
-  *    (pkgs.where-is-my-sddm-theme.override {
-  *      themeConfig.General = {
-  *        background = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
-  *        backgroundMode = "none";
-  *      };
-  *    })
-  *  ];
-  */
-, themeConfig ? null
-}:
-
-let
-  user-cfg = (formats.ini { }).generate "theme.conf.user" themeConfig;
-in
-
-stdenvNoCC.mkDerivation rec {
-  pname = "where-is-my-sddm-theme";
-  version = "1.6.1";
-
-  src = fetchFromGitHub {
-    owner = "stepanzubkov";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-H0CVTnznODJ27m5C7gT68RVcXFXS2mi0daI6vCi5KmQ=";
-  };
-
-  propagatedUserEnvPkgs = [ qtgraphicaleffects ];
-
-  installPhase = ''
-    mkdir -p $out/share/sddm/themes/
-    cp -r where_is_my_sddm_theme/ $out/share/sddm/themes/
-  '' + lib.optionalString (lib.isAttrs themeConfig) ''
-    ln -sf ${user-cfg} $out/share/sddm/themes/where_is_my_sddm_theme/theme.conf.user
-  '';
-
-  meta = with lib; {
-    description = "The most minimalistic SDDM theme among all themes";
-    homepage = "https://github.com/stepanzubkov/where-is-my-sddm-theme";
-    license = licenses.mit;
-    maintainers = with maintainers; [ name-snrl ];
-  };
-}