30 lines
872 B
Nix
30 lines
872 B
Nix
{ self, inputs, ... }: {
|
|
flake.nixosModules.wallpapers = { pkgs, lib, config, ... }: {
|
|
|
|
options.wallpaper-users = lib.mkOption {
|
|
type = lib.types.listOf lib.types.str;
|
|
default = [];
|
|
description = "List of users to include wallpapers for";
|
|
};
|
|
|
|
options.wallpaper-destination = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "Pictures/Wallpapers";
|
|
description = "Destination path for wallpapers";
|
|
};
|
|
|
|
config = {
|
|
hjem = lib.mkIf (config.wallpaper-users != []) {
|
|
users = lib.genAttrs config.wallpaper-users (username: {
|
|
enable = true;
|
|
files = {
|
|
"${config.wallpaper-destination}".source = pkgs.runCommand "wallpapers" {} ''
|
|
mkdir -p $out
|
|
cp -r ${../../../assets/wallpapers}/* $out/
|
|
'';
|
|
};
|
|
});
|
|
};
|
|
};
|
|
};
|
|
}
|