mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-25 04:21:53 -05:00
43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
wallpaperD = pkgs.writers.writeRuby "randomWallpaperD" {} (builtins.readFile ./script.rb);
|
|
in {
|
|
config = lib.mkIf config.ar.home.services.randomWallpaper.enable {
|
|
services.hyprpaper.enable = lib.mkForce false;
|
|
# stylix.targets.hyprpaper.enable = lib.mkForce false;
|
|
wayland.windowManager.sway.config.output."*" = lib.mkForce {}; # Dirty. TODO: make more elegant.
|
|
|
|
systemd.user.services.randomWallpaper = {
|
|
Unit = {
|
|
After = "graphical-session.target";
|
|
BindsTo = lib.optional (config.ar.home.desktop.hyprland.enable) "hyprland-session.target" ++ lib.optional (config.ar.home.desktop.sway.enable) "sway-session.target";
|
|
Description = "Lightweight swaybg-based random wallpaper daemon.";
|
|
PartOf = "graphical-session.target";
|
|
};
|
|
|
|
Service = {
|
|
Environment = [
|
|
"PATH=${
|
|
lib.makeBinPath [
|
|
config.wayland.windowManager.hyprland.package
|
|
config.wayland.windowManager.sway.package
|
|
pkgs.procps
|
|
pkgs.swaybg
|
|
]
|
|
}"
|
|
];
|
|
|
|
ExecStart = "${wallpaperD}";
|
|
Restart = "no";
|
|
TasksMax = "infinity";
|
|
};
|
|
|
|
Install.WantedBy = lib.optional (config.ar.home.desktop.hyprland.enable) "hyprland-session.target" ++ lib.optional (config.ar.home.desktop.sway.enable) "sway-session.target";
|
|
};
|
|
};
|
|
}
|