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

43 lines
983 B
Nix

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