From 2432c487c014013a1ffe528e8187b3353def96d6 Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Thu, 26 Mar 2026 11:29:30 +0000 Subject: [PATCH] Regenerated --- Droidnix/README.org | 32 +++++++++++++------ .../desktop/rotating_wallpaper.nix | 32 +++++++++++++------ 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/Droidnix/README.org b/Droidnix/README.org index fca2f5758..a7ff14668 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -724,6 +724,8 @@ Setting up wallpaper engine + wall[pa[per gui #+BEGIN_SRC nix :tangle generated/modules/traveldroid/desktop/rotating_wallpaper.nix :noweb tangle :mkdirp yes :eval never-html { lib, config, pkgs, flakeRoot, ... }: +{ lib, config, pkgs, flakeRoot, ... }: + let username = config.defaultUser or "henrov"; homeDir = "/home/${username}"; @@ -733,7 +735,7 @@ let in { ################################# - # System packages (global) + # System packages ################################# environment.systemPackages = [ @@ -743,24 +745,38 @@ in ]; ################################# - # Copy editable wallpaper folder + # Copy wallpaper folder (FIXED) ################################# systemd.services.copyWallpaperStuff = { description = "Copy wallpaper assets to user home"; + wantedBy = [ "multi-user.target" ]; + # 🔑 CRITICAL FIX + after = [ "systemd-user-sessions.service" ]; + wants = [ "systemd-user-sessions.service" ]; + serviceConfig = { Type = "oneshot"; }; script = '' - if [ ! -d "${wallpaperDst}" ]; then - mkdir -p "${wallpaperDst}" + # Wait until user exists (robust) + for i in $(seq 1 10); do + id ${username} && break + sleep 1 + done + + mkdir -p "${wallpaperDst}" + + # Copy only if empty (prevents overwrite) + if [ -z "$(ls -A ${wallpaperDst})" ]; then cp -r ${wallpaperSrc}/* "${wallpaperDst}/" fi - chown -R ${username}:${username} "${wallpaperDst}" + # 🔑 FIX: use user only, not group + chown -R ${username} "${wallpaperDst}" chmod -R u+rwx "${wallpaperDst}" ''; }; @@ -772,10 +788,6 @@ in _module.args.hmUsers = { ${username} = { - ################################# - # User packages - ################################# - home.packages = [ pkgs.swww pkgs.waypaper @@ -802,7 +814,7 @@ in }; ################################# - # Set initial wallpaper + # Set wallpaper ################################# systemd.user.services.swww-init = { diff --git a/Droidnix/generated/modules/traveldroid/desktop/rotating_wallpaper.nix b/Droidnix/generated/modules/traveldroid/desktop/rotating_wallpaper.nix index 9d1176b23..676f903c7 100644 --- a/Droidnix/generated/modules/traveldroid/desktop/rotating_wallpaper.nix +++ b/Droidnix/generated/modules/traveldroid/desktop/rotating_wallpaper.nix @@ -1,5 +1,7 @@ { lib, config, pkgs, flakeRoot, ... }: +{ lib, config, pkgs, flakeRoot, ... }: + let username = config.defaultUser or "henrov"; homeDir = "/home/${username}"; @@ -9,7 +11,7 @@ let in { ################################# - # System packages (global) + # System packages ################################# environment.systemPackages = [ @@ -19,24 +21,38 @@ in ]; ################################# - # Copy editable wallpaper folder + # Copy wallpaper folder (FIXED) ################################# systemd.services.copyWallpaperStuff = { description = "Copy wallpaper assets to user home"; + wantedBy = [ "multi-user.target" ]; + # 🔑 CRITICAL FIX + after = [ "systemd-user-sessions.service" ]; + wants = [ "systemd-user-sessions.service" ]; + serviceConfig = { Type = "oneshot"; }; script = '' - if [ ! -d "${wallpaperDst}" ]; then - mkdir -p "${wallpaperDst}" + # Wait until user exists (robust) + for i in $(seq 1 10); do + id ${username} && break + sleep 1 + done + + mkdir -p "${wallpaperDst}" + + # Copy only if empty (prevents overwrite) + if [ -z "$(ls -A ${wallpaperDst})" ]; then cp -r ${wallpaperSrc}/* "${wallpaperDst}/" fi - chown -R ${username}:${username} "${wallpaperDst}" + # 🔑 FIX: use user only, not group + chown -R ${username} "${wallpaperDst}" chmod -R u+rwx "${wallpaperDst}" ''; }; @@ -48,10 +64,6 @@ in _module.args.hmUsers = { ${username} = { - ################################# - # User packages - ################################# - home.packages = [ pkgs.swww pkgs.waypaper @@ -78,7 +90,7 @@ in }; ################################# - # Set initial wallpaper + # Set wallpaper ################################# systemd.user.services.swww-init = {