wpd script that changes wp every min
This commit is contained in:
parent
a32a8e3777
commit
096d73470d
@ -12,6 +12,7 @@ top@{ inputs, ... }: {
|
|||||||
bingwp = config.packages.bingwp;
|
bingwp = config.packages.bingwp;
|
||||||
screenshot = config.packages.screenshot;
|
screenshot = config.packages.screenshot;
|
||||||
cursors = config.packages.cursors;
|
cursors = config.packages.cursors;
|
||||||
|
wpd = config.packages.wpd;
|
||||||
})
|
})
|
||||||
inputs.sal.overlays.default
|
inputs.sal.overlays.default
|
||||||
];
|
];
|
||||||
|
@ -442,20 +442,10 @@ toplevel@{ moduleWithSystem, ... }: {
|
|||||||
timers = { rbingwp = { Timer = { OnCalendar = "*-*-* 10:00:00"; Persistent = true; }; Install = { WantedBy = [ "timers.target" ]; }; }; };
|
timers = { rbingwp = { Timer = { OnCalendar = "*-*-* 10:00:00"; Persistent = true; }; Install = { WantedBy = [ "timers.target" ]; }; }; };
|
||||||
services = {
|
services = {
|
||||||
wpd = {
|
wpd = {
|
||||||
Service = {
|
|
||||||
Environment = [ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin" ];
|
|
||||||
ExecStart = [ "${pkgs.nushell}/bin/nu -c 'swaybg -i ((xdg-user-dir PICTURES) | path split | path join bg.png)'" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
bingwp = {
|
|
||||||
Service = { Type = "oneshot"; Environment = [ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.nushell}/bin" ]; ExecStart = [ "${pkgs.bingwp}/bin/bingwp" ]; };
|
|
||||||
};
|
|
||||||
rbingwp = {
|
|
||||||
Install = { WantedBy = [ "sway-session.target" ]; };
|
Install = { WantedBy = [ "sway-session.target" ]; };
|
||||||
Unit = { Description = "Restart bingwp and wpd services"; After = "graphical-session-pre.target"; PartOf = "graphical-session.target"; };
|
Unit = { Description = "Restart bingwp and wpd services"; After = "graphical-session-pre.target"; PartOf = "graphical-session.target"; };
|
||||||
Service = {
|
Service = {
|
||||||
Type = "oneshot";
|
ExecStart = [ "${pkgs.wpd}/bin/wpd" ];
|
||||||
ExecStart = [ "${pkgs.nushell}/bin/nu -c '${pkgs.systemd}/bin/systemctl --user restart bingwp.service; ${pkgs.systemd}/bin/systemctl --user restart wpd.service'" ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -8,9 +8,26 @@ top@{ inputs, ... }: {
|
|||||||
lua-ls.enable = true;
|
lua-ls.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
bingwp = pkgs.writers.writeNuBin "bingwp" ''
|
wpd = pkgs.writeShellApplication {
|
||||||
http get "https://pic.idimitrov.dev/latest.png" | save -f ([(xdg-user-dir PICTURES), "bg.png"] | str join "/")
|
name = "wpd";
|
||||||
|
runtimeInputs = with pkgs; [ swaybg xdg-utils fd ];
|
||||||
|
text = ''
|
||||||
|
random_pic () {
|
||||||
|
bg_dir="$(xdg-user-dir PICTURES)/bg"
|
||||||
|
fd . --extension png "$bg_dir" | shuf -n1
|
||||||
|
}
|
||||||
|
swaybg -i "$(random_pic)" -m fill &
|
||||||
|
OLD_PID=$!
|
||||||
|
while true; do
|
||||||
|
sleep 60
|
||||||
|
swaybg -i "$(random_pic)" -m fill &
|
||||||
|
NEXT_PID=$!
|
||||||
|
sleep 5
|
||||||
|
kill -9 $OLD_PID
|
||||||
|
OLD_PID=$NEXT_PID
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
screenshot = pkgs.writeShellApplication {
|
screenshot = pkgs.writeShellApplication {
|
||||||
name = "screenshot";
|
name = "screenshot";
|
||||||
runtimeInputs = with pkgs; [ wl-clipboard xdg-utils ];
|
runtimeInputs = with pkgs; [ wl-clipboard xdg-utils ];
|
||||||
|
Loading…
Reference in New Issue
Block a user