diff --git a/Droidnix/README.org b/Droidnix/README.org index 2eb436a4c..81bff056b 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -210,6 +210,8 @@ outputs = home-manager.extraSpecialArgs = { inherit user inputs flakeRoot; }; } + # wallpaperstuff + ./generated/out_of_tree/core/rotating_wallpaper.nix ]; specialArgs = { inherit user inputs flakeRoot; }; } @@ -671,6 +673,38 @@ You'll notice the color values in multiple places outside this as well. } #+END_SRC +** =generated/out-of-tree/core/rotating_wallpaper.nix= +rotating_wallpaper.nix installs wpaperd and deploys your wallpaper files from the repo (./assets/hyprland/wallpaperstuff/) into ~/Droidnix/wallpaperstuff/. +You can edit assets/hyprland/wallpaperstuff/wallpaper.toml to change settings +Finally, it creates a systemd user service (wpaperd.service) that automatically starts wpaperd at login and keeps it running, using your override config so wallpapers rotate according to your settings. +#+BEGIN_SRC nix :tangle generated/out-of-tree/core/rotating_wallpaper.nix :noweb tangle :mkdirp yes :eval never-html +{ config, pkgs, lib, flakeRoot, ... }: + +let + # Pad naar de wallpaper config in de flake + wallpaperConf = "${flakeRoot}/assets/hyprland/wallpaperstuff/wallpaper.conf"; +in +{ + # Installeer wpaperd voor de gebruiker + home.packages = [ pkgs.wpaperd ]; + + # Plaats de wallpaper.conf automatisch in $HOME/.config/wpaperd + home.file.".config/wpaperd/wallpaper.conf".source = wallpaperConf; + + # Systemd user service + systemd.user.services.wpaperd = { + description = "wpaperd wallpaper daemon"; + wantedBy = [ "default.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.wpaperd}/bin/wpaperd --config ${config.home.homeDirectory}/.config/wpaperd/wallpaper.conf"; + Restart = "on-failure"; + RestartSec = 1; + }; + }; +} +#+END_SRC + * Now we reach the top of the hierarchy which will call all other imports @@ -775,51 +809,6 @@ This is top file of this level which contains just an import statement for all r } #+END_SRC -** =generated/hyprland/decorations/rotating_wallpaper.nix= -rotating_wallpaper.nix installs wpaperd and deploys your wallpaper files from the repo (./assets/hyprland/wallpaperstuff/) into ~/Droidnix/wallpaperstuff/. -You can edit assets/hyprland/wallpaperstuff/wallpaper.toml to change settings -Finally, it creates a systemd user service (wpaperd.service) that automatically starts wpaperd at login and keeps it running, using your override config so wallpapers rotate according to your settings. -#+BEGIN_SRC nix :tangle generated/hyprland/decorations/rotating_wallpaper.nix :noweb tangle :mkdirp yes :eval never-html -{ - config, - pkgs, - lib, - flakeRoot, - ... -}: - -let - wallpaperSource = "${flakeRoot}/assets/hyprland/wallpaperstuff"; - wallpaperTarget = "$HOME/.config/wpaperd"; -in -{ - # Install wpaperd system-wide - environment.systemPackages = with pkgs; [ wpaperd ]; - - # User systemd service (runs on login) - systemd.user.services.wpaperd = { - description = "wpaperd wallpaper daemon"; - after = [ "default.target" ]; - - serviceConfig = { - Type = "simple"; - # Copy config first, then run wpaperd - ExecStartPre = '' - mkdir -p "${wallpaperTarget}" - cp -rT "${wallpaperSource}" "${wallpaperTarget}" - rsync -av --no-group --no-owner "${wallpaperSource}/" "$HOME/Droidnix/" - ''; - ExecStart = "${pkgs.wpaperd}/bin/wpaperd --config ${wallpaperTarget}/wallpaper.toml"; - Restart = "on-failure"; - RestartSec = 1; - }; - - wantedBy = [ "default.target" ]; - enable = true; - }; -} -#+END_SRC - ** =generated/hyprland/notifications/top.nix= This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder #+BEGIN_SRC nix :tangle generated/hyprland/notifications/top.nix :noweb tangle :mkdirp yes :eval never-html diff --git a/Droidnix/flake.nix b/Droidnix/flake.nix index 2df86239d..05c59901f 100644 --- a/Droidnix/flake.nix +++ b/Droidnix/flake.nix @@ -66,6 +66,8 @@ outputs = home-manager.extraSpecialArgs = { inherit user inputs flakeRoot; }; } + # wallpaperstuff + ./generated/out_of_tree/core/rotating_wallpaper.nix ]; specialArgs = { inherit user inputs flakeRoot; }; } diff --git a/Droidnix/generated/out-of-tree/core/rotating_wallpaper.nix b/Droidnix/generated/out-of-tree/core/rotating_wallpaper.nix new file mode 100644 index 000000000..106f573e2 --- /dev/null +++ b/Droidnix/generated/out-of-tree/core/rotating_wallpaper.nix @@ -0,0 +1,25 @@ +{ config, pkgs, lib, flakeRoot, ... }: + +let + # Pad naar de wallpaper config in de flake + wallpaperConf = "${flakeRoot}/assets/hyprland/wallpaperstuff/wallpaper.conf"; +in +{ + # Installeer wpaperd voor de gebruiker + home.packages = [ pkgs.wpaperd ]; + + # Plaats de wallpaper.conf automatisch in $HOME/.config/wpaperd + home.file.".config/wpaperd/wallpaper.conf".source = wallpaperConf; + + # Systemd user service + systemd.user.services.wpaperd = { + description = "wpaperd wallpaper daemon"; + wantedBy = [ "default.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.wpaperd}/bin/wpaperd --config ${config.home.homeDirectory}/.config/wpaperd/wallpaper.conf"; + Restart = "on-failure"; + RestartSec = 1; + }; + }; +}