{ lib, config, ... }: let username = config.defaultUser or "henrov"; # Include the source folder in the Nix store assetPath = builtins.path { path = ../../../assets/copy_2_home; }; in { _module.args.hmUsers = { # Ensure this user entry merges safely with other modules ${username} = lib.mkMerge [ # Any previous _module.args.hmUsers.${username} entries from other modules will merge automatically { # Activation script to copy all assets into $HOME home.activation.copyAssets = lib.hm.dag.entryAfter [ "writeBoundary" ] '' echo "Copying assets from ${assetPath} to home directory..." # Copy recursively, overwrite existing files, leave other files untouched cp -rT ${assetPath} "$HOME" echo "Done copying assets." ''; } ]; }; }