nixos-configs/common/overlays/dracula-theme.nix

101 lines
3 KiB
Nix
Raw Normal View History

2023-10-18 17:39:14 -04:00
{ pkgs, ... }: let
plymouth = pkgs.fetchFromGitHub {
owner = "dracula";
repo = "plymouth";
rev = "37aa09b27ecee4a825b43d2c1d20b502e8f19c96";
hash = "sha256-7YwkBzkAND9lfH2ewuwna1zUkQStBBx4JHGw3/+svhA=";
};
2023-10-18 17:39:14 -04:00
dracula-script = ./patches/dracula-plymouth.patch;
2023-10-18 17:39:14 -04:00
git-colors = pkgs.fetchFromGitHub {
owner = "dracula";
repo = "git";
rev = "924d5fc32f7ca15d0dd3a8d2cf1747e81e063c73";
hash = "sha256-3tKjKn5IHIByj+xgi2AIL1vZANlb0vlYJsPjH6BHGxM=";
};
2023-10-15 16:41:34 -04:00
bat-theme = pkgs.fetchFromGitHub {
owner = "matt1432";
repo = "bat";
rev = "270bce892537311ac92494a2a7663e3ecf772092";
hash = "sha256-UyZ3WFfrEEBjtdb//5waVItmjKorkOiNGtu9eeB3lOw=";
};
2023-10-18 17:39:14 -04:00
wallpaper = pkgs.fetchurl {
url = "https://github.com/aynp/dracula-wallpapers/blob/main/Art/4k/Waves%201.png?raw=true";
hash = "sha256-f9FwSOSvqTeDj4bOjYUQ6TM+/carCD9o5dhg/MnP/lk=";
};
in {
nixpkgs.overlays = [ (final: prev: {
dracula-theme = prev.dracula-theme.overrideAttrs (oldAttrs: rec {
2023-10-18 17:39:14 -04:00
src = prev.fetchFromGitHub {
owner = "dracula";
repo = "gtk";
rev = "84dd7a3021938ceec8a0ee292a8561f8a6d47ebe";
hash = "sha256-xHf+f0RGMtbprJX+3c0cmp5LKkf0V7BHKcoiAW60du8=";
};
2023-10-18 17:39:14 -04:00
installPhase = ''
runHook preInstall
2023-10-18 17:39:14 -04:00
# Git colors
cp -a ${git-colors}/config/gitconfig ./git-colors
chmod 777 ./git-colors
2023-10-18 17:39:14 -04:00
line=$(grep -n 'Dracula Dark Theme' ./git-colors | cut -d: -f1)
sed -i "1,$((line-1))d" ./git-colors
2023-10-18 17:39:14 -04:00
mkdir -p $out
cp -a ./git-colors $out
# Bat colors
mkdir -p ./bat $out/bat
cp -a ${bat-theme}/Dracula.tmTheme ./bat/dracula-bat.tmTheme
chmod 777 ./bat/dracula-bat.tmTheme
cp -a ./bat/dracula-bat.tmTheme $out/bat
2023-10-18 17:39:14 -04:00
# Plymouth
cp -a ${plymouth}/dracula ./dracula
chmod 777 ./dracula
2023-10-15 16:41:34 -04:00
2023-10-18 17:39:14 -04:00
rm ./dracula/dracula.script
cp -a ${dracula-script} ./dracula/dracula.script
2023-10-18 17:39:14 -04:00
sed -i "s@\/usr\/@$out\/@" ./dracula/dracula.plymouth
2023-10-18 17:39:14 -04:00
mkdir -p $out/share/plymouth/themes
cp -a ./dracula $out/share/plymouth/themes/
2023-10-18 17:39:14 -04:00
# Wallpapers
cp -a ${wallpaper} ./waves.png
2023-10-18 17:39:14 -04:00
mkdir -p $out/wallpapers
cp -a ./waves.png $out/wallpapers/
2023-10-15 16:41:34 -04:00
2023-10-18 17:39:14 -04:00
# -------------------------------------------
mkdir -p $out/share/themes/Dracula
cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,gtk-4.0,index.theme,metacity-1,unity,xfwm4} $out/share/themes/Dracula
2023-10-18 17:39:14 -04:00
cp -a kde/{color-schemes,plasma} $out/share/
cp -a kde/kvantum $out/share/Kvantum
2023-10-18 17:39:14 -04:00
mkdir -p $out/share/aurorae/themes
cp -a kde/aurorae/* $out/share/aurorae/themes/
2023-10-18 17:39:14 -04:00
mkdir -p $out/share/sddm/themes
cp -a kde/sddm/* $out/share/sddm/themes/
2023-10-18 17:39:14 -04:00
mkdir -p $out/share/icons/Dracula-cursors
mv kde/cursors/Dracula-cursors/index.theme $out/share/icons/Dracula-cursors/cursor.theme
mv kde/cursors/Dracula-cursors/cursors $out/share/icons/Dracula-cursors/cursors
2023-10-18 17:39:14 -04:00
runHook postInstall
'';
});
}) ];
}