kore / home / features / wayland / wbg.nix34 lines · 1092B · raw
1{ lib, pkgs, ... }:
2
3let
4 wbg = pkgs.wbg.override { enableWebp = false; };
5
6 wallpaper = pkgs.runCommand "jardin-blanc.jpg" {
7 nativeBuildInputs = [ pkgs.imagemagick ];
8 src = pkgs.fetchurl {
9 name = "le-jardin-blanc-au-crepuscule.jpg";
10 url = "https://upload.wikimedia.org/wikipedia/commons/e/e2/Le_jardin_blanc_au_cr%C3%A9puscule.jpg";
11 hash = "sha256-JEJ0htoF0D/Pu1UxUzSPseTTrBXKSpMlc2DYnpthERA=";
12 curlOptsList = [ "--user-agent" "kore-nixos-config/1.0" ];
13 };
14 } ''
15 magick "$src" \
16 -distort Perspective '179,184 0,0 2830,184 2651,0 189,1891 0,1707 2832,1891 2651,1707' \
17 -crop 2651x1707+0+0 +repage \
18 -modulate 92,85 \
19 -resize 1920x -gravity south -crop 1920x1080+0+38 +repage \
20 -strip -quality 90 "jpg:$out"
21 '';
22in {
23 systemd.user.services.wbg = {
24 Unit = {
25 Description = "wbg wallpaper";
26 PartOf = [ "graphical-session.target" ];
27 After = [ "graphical-session.target" ];
28 };
29
30 Service.ExecStart = "${lib.getExe wbg} ${wallpaper}";
31
32 Install.WantedBy = [ "dwl-session.target" ];
33 };
34}