From b1fdab737cca1017dbff29e4fd996be8da6917e1 Mon Sep 17 00:00:00 2001 From: muon Date: Fri, 26 Dec 2025 13:21:08 +0000 Subject: [PATCH] Add random wallpaper --- hosts/muvo/home.nix | 4 +--- modules/home/desktop/default.nix | 1 + modules/home/desktop/theme.nix | 24 +++++++++++++++++++ modules/nixos/theme/default.nix | 40 ++++++++++++++++---------------- 4 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 modules/home/desktop/theme.nix diff --git a/hosts/muvo/home.nix b/hosts/muvo/home.nix index 92906ef..9140639 100644 --- a/hosts/muvo/home.nix +++ b/hosts/muvo/home.nix @@ -21,6 +21,7 @@ in { mods.desktop.development.enable = true; mods.desktop.productivity.enable = false; mods.zen.enable = true; + mods.theme.slideshow.enable = true; home.packages = with pkgs; [ pulseaudio @@ -35,9 +36,6 @@ in { enable = true; hooks.postswitch = { "notify-i3" = "${pkgs.i3}/bin/i3-msg restart"; - "set-wallpaper" = '' - ${lib.getExe pkgs.feh} --bg-fill --nofehbg ${./wallpaper.png} - ''; }; }; diff --git a/modules/home/desktop/default.nix b/modules/home/desktop/default.nix index 9ff8ceb..2184001 100644 --- a/modules/home/desktop/default.nix +++ b/modules/home/desktop/default.nix @@ -14,6 +14,7 @@ in { ./productivity.nix ./media.nix ./zen.nix + ./theme.nix ]; mods.hyprland.enable = lib.mkIf cfg.wayland.enable true; diff --git a/modules/home/desktop/theme.nix b/modules/home/desktop/theme.nix new file mode 100644 index 0000000..e9ff5c4 --- /dev/null +++ b/modules/home/desktop/theme.nix @@ -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"; + }; + }; +} diff --git a/modules/nixos/theme/default.nix b/modules/nixos/theme/default.nix index 4743778..e9de1ce 100644 --- a/modules/nixos/theme/default.nix +++ b/modules/nixos/theme/default.nix @@ -20,28 +20,28 @@ in { }; config = lib.mkIf cfg.enable { - stylix.enable = true; - stylix.autoEnable = true; - stylix.base16Scheme = cfg.scheme; - stylix.image = cfg.wallpaper; - - stylix.cursor = { - name = "phinger-cursors-light"; - package = pkgs.phinger-cursors; - size = 16; - }; - - stylix.fonts = { - monospace = { - package = pkgs.nerd-fonts.commit-mono; - name = "CommitMono Nerd Font"; + stylix = { + enable = true; + autoEnable = true; + base16Scheme = cfg.scheme; + image = cfg.wallpaper; + cursor = { + name = "phinger-cursors-light"; + package = pkgs.phinger-cursors; + size = 16; }; - emoji = { - package = pkgs.noto-fonts-color-emoji; - name = "OpenMoji Color"; + fonts = { + monospace = { + 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; [