11.stylix/modules/feh/hm.nix
2025-05-10 12:07:43 +01:00

49 lines
1.1 KiB
Nix

{
pkgs,
config,
lib,
...
}:
let
cfg = config.stylix.targets.feh;
in
{
options.stylix.targets.feh = {
enable = config.lib.stylix.mkEnableTarget "the desktop background using Feh" (
config.stylix.image != null
);
};
config.xsession.initExtra =
lib.mkIf
(
config.stylix.enable
&& cfg.enable
&& (
with config.xsession.windowManager;
bspwm.enable
|| herbstluftwm.enable
|| i3.enable
|| spectrwm.enable
|| xmonad.enable
)
)
(
let
inherit (config.stylix) imageScalingMode;
bg-arg =
if imageScalingMode == "fill" then
"--bg-fill"
else if imageScalingMode == "center" then
"--bg-center"
else if imageScalingMode == "tile" then
"--bg-tile"
else if imageScalingMode == "stretch" then
"--bg-scale"
# Fit
else
"--bg-max";
in
"${lib.getExe pkgs.feh} --no-fehbg ${bg-arg} ${config.stylix.image}"
);
}