nixconfig/home/gui/theme/wallpaper-gen.nix
2023-06-17 03:06:16 +02:00

34 lines
1.0 KiB
Nix

{ pkgs, config }:
let
scheme = config.colorScheme;
colors = scheme.colors;
dither = "none";
in
pkgs.stdenv.mkDerivation rec {
name = "generated-wallpaper-${scheme.slug}";
src = pkgs.fetchFromGitea {
domain = "git.helcel.net";
owner = "sora";
repo = "nixconfig-wallpaper";
rev = "8825bd0f75bb87175ba9f970a6c73608404daebc";
sha256 = "sha256-AgYeMwsPYoaOsllHZ2WQTctF+Bnkb3YA0sTb2u9//R4=";
};
buildInputs = with pkgs; [
custom.repalette
nodejs
];
buildPhase = ''
echo "${colors.base08},${colors.base09},${colors.base0A},${colors.base0B},${colors.base0C},${colors.base0D},${colors.base0E},${colors.base0F}" > base16.out
node palette-gen.js < base16.out > palette.out
${pkgs.custom.repalette}/bin/repalette dark.jpg newdark.jpg -p $(cat palette.out) --dither ${dither}
cat palette.out
'';
installPhase = ''
mkdir -p $out/share/wallpaper
cp newdark.jpg $out/share/wallpaper/dark.jpg
'';
}