Add random wallpaper

This commit is contained in:
muon 2025-12-26 13:21:08 +00:00
parent fc14a394aa
commit b1fdab737c
4 changed files with 46 additions and 23 deletions

View file

@ -21,6 +21,7 @@ in {
mods.desktop.development.enable = true; mods.desktop.development.enable = true;
mods.desktop.productivity.enable = false; mods.desktop.productivity.enable = false;
mods.zen.enable = true; mods.zen.enable = true;
mods.theme.slideshow.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
pulseaudio pulseaudio
@ -35,9 +36,6 @@ in {
enable = true; enable = true;
hooks.postswitch = { hooks.postswitch = {
"notify-i3" = "${pkgs.i3}/bin/i3-msg restart"; "notify-i3" = "${pkgs.i3}/bin/i3-msg restart";
"set-wallpaper" = ''
${lib.getExe pkgs.feh} --bg-fill --nofehbg ${./wallpaper.png}
'';
}; };
}; };

View file

@ -14,6 +14,7 @@ in {
./productivity.nix ./productivity.nix
./media.nix ./media.nix
./zen.nix ./zen.nix
./theme.nix
]; ];
mods.hyprland.enable = lib.mkIf cfg.wayland.enable true; mods.hyprland.enable = lib.mkIf cfg.wayland.enable true;

View file

@ -0,0 +1,24 @@
{
lib,
config,
...
}: let
cfg = config.mods.theme.slideshow;
in {
options.mods.theme.slideshow = {
enable = lib.mkEnableOption "enables slideshow wallpaper";
folder = lib.mkOption {
default = "%h/misc/pictures/wallpapers";
description = "slideshow wallpaper folder";
};
};
config = lib.mkIf cfg.enable {
services.random-background = lib.mkIf cfg.enable {
enable = true;
imageDirectory = cfg.folder;
enableXinerama = true;
interval = "1s";
};
};
}

View file

@ -20,28 +20,28 @@ in {
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
stylix.enable = true; stylix = {
stylix.autoEnable = true; enable = true;
stylix.base16Scheme = cfg.scheme; autoEnable = true;
stylix.image = cfg.wallpaper; base16Scheme = cfg.scheme;
image = cfg.wallpaper;
stylix.cursor = { cursor = {
name = "phinger-cursors-light"; name = "phinger-cursors-light";
package = pkgs.phinger-cursors; package = pkgs.phinger-cursors;
size = 16; size = 16;
};
stylix.fonts = {
monospace = {
package = pkgs.nerd-fonts.commit-mono;
name = "CommitMono Nerd Font";
}; };
emoji = { fonts = {
package = pkgs.noto-fonts-color-emoji; monospace = {
name = "OpenMoji Color"; package = pkgs.nerd-fonts.commit-mono;
name = "CommitMono Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-color-emoji;
name = "OpenMoji Color";
};
serif = config.stylix.fonts.monospace;
sansSerif = config.stylix.fonts.monospace;
}; };
serif = config.stylix.fonts.monospace;
sansSerif = config.stylix.fonts.monospace;
}; };
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [