29 lines
711 B
Nix
29 lines
711 B
Nix
{ lib, config, pkgs, ... }:
|
|
|
|
let
|
|
username = config.defaultUser or "henrov";
|
|
|
|
assetPath = ../../../assets/copy_2_home;
|
|
|
|
# readDir gives all entries in the folder
|
|
entries = builtins.readDir assetPath;
|
|
|
|
# generate xdg-style home.file entries
|
|
homeFiles = lib.genAttrs (builtins.attrNames entries) (name: {
|
|
# source path in store
|
|
source = "${assetPath}/${name}";
|
|
});
|
|
in
|
|
{
|
|
_module.args.hmUsers = {
|
|
${username} = {
|
|
# recursively copy all files under the top-level folder into home
|
|
home.file = lib.mkMerge (map (name: {
|
|
# target path in home
|
|
name = name;
|
|
value = { source = "${assetPath}/${name}"; };
|
|
}) (builtins.attrNames entries));
|
|
};
|
|
};
|
|
}
|