Files
nixos/Droidnix/generated/modules/users/copy_2_home.nix
T
2026-03-22 09:07:28 +00:00

44 lines
1002 B
Nix

{ lib, config, pkgs, flakeRoot, ... }:
let
username = config.defaultUser or "henrov";
homeDir = config.home.homeDirectory or "/home/${username}";
# Absolute path to the assets folder
assetPath = "${flakeRoot}/assets/copy_2_home";
# Helper function to recursively list files in a directory
recursiveFiles = path:
let
entries = builtins.attrNames (builtins.readDir path);
in
lib.concatMap (name:
let
full = "${path}/${name}";
in
if builtins.isDir full
then recursiveFiles full
else [ full ]
) entries;
# All files in assets folder
allFiles = recursiveFiles assetPath;
# Map files to home.file entries
homeFiles = lib.genAttrs allFiles (f: let
relative = lib.replaceStrings [ "${assetPath}/" ] [ "" ] f;
in {
name = relative;
value = { source = f; };
});
in
{
_module.args.hmUsers = {
${username} = {
home.file = lib.mkMerge [
homeFiles
];
};
};
}