new wallpaperthingie

This commit is contained in:
2026-03-17 21:47:57 +00:00
parent fe28ebaaa7
commit 1e69e20380
3 changed files with 61 additions and 45 deletions
+34 -45
View File
@@ -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